Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: CF card van Avisaro Kategorie: Programmierung Basic (von Windt H.J. - 30.11.2005 21:58)
 Als Antwort auf Re: CF card van Avisaro von Windt H.J. - 30.11.2005 15:32
Hello,
Try this out.
Greetings,
H.J. Windt

'**************** I/O PORTS ****************'
define lcd_backlight_off port[16]
'*******************************************'
'**************** A/D PORTS ****************'

'*******************************************'
'**************** D/A PORTS ****************'

'*******************************************'
'**************** VARIABLES ****************'
define control_flags byte[1]
define iic_nack bit[7]
define iic_nack_count byte[2]

define var1 byte[3]
define var2 byte[4]
define var3 byte[5]
'*******************************************'
'**************** CONSTANTS ****************'
define avisaro_iic_address 73
'*******************************************'
'****************** SETUP ******************'
put 0
print"#ON_LCD#";"#INIT#";"#CLR#";"#OFF#";:lcd_backlight_off = 0
'*******************************************'
'***************** PROGRAM *****************'
#start
var1 = 12
var2 = 34
var3 = 45
gosub write_data_to_avisaro
#endloop
beep 5,1,1
goto endloop
'*******************************************'
'*************** SUBROUTINES ***************'
#write_data_to_avisaro
if second > 57 then goto write_data_to_avisaro
print"#ON_IIC#";
print"#START#";
put avisaro_iic_address
put hour
put minute
put day
put month
put year
put var1
put var2
put var3
print"#STOP#";
print"#OFF#";
gosub check_iic_nack
if iic_nack_count > 27 then goto no_ack_from_avisaro
if iic_nack then goto write_data_to_avisaro
return

#check_iic_nack
print"#ON_CONFIG#";
get control_flags
if not iic_nack then goto pass_iic_nack_clear
iic_nack = 0
put control_flags
iic_nack = 1
iic_nack_count = iic_nack_count + 1
print"#OFF#";
return
#pass_iic_nack_clear
iic_nack_count = 0
print"#OFF#";
return
'*******************************************'
'********* CALIBRATION SUBROUTINES *********'

'*******************************************'
'****************** DATA *******************'

'*******************************************'
'************* ERROR MESSAGES **************'
#no_ack_from_avisaro
beep 1,1,1:beep 10,1,1:beep 1,1,1:beep 10,1,1
print"#ON_LCD#";"#CLR#";"IIC ERROR:";"#L201#";"AVISARO NACK";
pause 300
print"#CLR#";"#OFF#";
return
'*******************************************'

 Antwort schreiben

Bisherige Antworten:

Re: CF card van Avisaro (von Hans - 30.11.2005 22:35)