
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
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 |