Witam
Problem następujący:
Dwa procki komunikują sie radiowo na modułach telecontrolli.
Jeden procek nadaje string, drugi odbiera.
Ogólnie all jest ok, ale gdy dopisze opcje wyświetlania czasu na LCD to sekundy idą tylko wtedy kiedy coś nadaje nadajnik, a jesli go wylacze sekundy sie zatrzymują.
Oto kod:
Odbiornik
Nadajnik:
Problem następujący:
Dwa procki komunikują sie radiowo na modułach telecontrolli.
Jeden procek nadaje string, drugi odbiera.
Ogólnie all jest ok, ale gdy dopisze opcje wyświetlania czasu na LCD to sekundy idą tylko wtedy kiedy coś nadaje nadajnik, a jesli go wylacze sekundy sie zatrzymują.
Oto kod:
Odbiornik
$regfile = "m16def.dat"
$crystal = 16000000
Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Config Lcd = 16 * 2
$baud = 1200
$hwstack = 100
$swstack = 100
$framesize = 100
Config Serialin = Buffered , Size = 20
Config Dcf77 = Pind.2 , Debug = 1 , Inverted = 1 , Check = 2 , Update = 1 , Updatetime = 30 , Switchpower = 0 , Secondticks = 50 , Timer1sec = 1 , Powerlevel = 1 , Timer = 1
Porta.7 = 1
Dim Na As String * 10
Enable Interrupts
Cls
Do
Locate 1 , 1
Lcd Time$
If Ischarwaiting() = 1 Then 'was there a char?
Input Na
End If
Locate 2 , 1
Lcd Na
Loop
Nadajnik:
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 1200
$hwstack = 100
$swstack = 100
$framesize = 100
Dim A As String * 5
Do
A = "+21.5"
Print A ; Chr(13);
Wait 5
A = "+10.5"
Print A ; Chr(13);
Wait 5
A = "+1.5"
Print A ; Chr(13);
Wait 5
Loop