Witam.
Chciał bym zacząć od tego, że nigdy nie stosowałem UARTa w żadnym swoim projekcie.
No i przyszedł moment że trzeba by połączyć ze sobą 2 Uc które mogły by ze sobą "rozmawiać".
Z założenia komunikacja miała być bardzo krótka(zajmować mało miejsca), ponieważ występują ograniczenia spowodowane pojemnością FLASCH.
"Stworzyłem" 2 programy, wysyłanie:
i Odbieranie"
Programy, jeśli tak to można nazwać działają w symulatorze, ale tylko wtedy, gdy ich prędkość jest identyczna.
Chciał bym, by można było ustawić różne prędkości oscylatorów i nie kolidowało by to z przesyłaniem danych.
Nie wspomnę już ,że super by było przesyłać całe ciągi znaków a nie tylko jeden.
Chciał bym zacząć od tego, że nigdy nie stosowałem UARTa w żadnym swoim projekcie.
No i przyszedł moment że trzeba by połączyć ze sobą 2 Uc które mogły by ze sobą "rozmawiać".
Z założenia komunikacja miała być bardzo krótka(zajmować mało miejsca), ponieważ występują ograniczenia spowodowane pojemnością FLASCH.
"Stworzyłem" 2 programy, wysyłanie:
$regfile = "m8def.dat"
$crystal = 2000000
$baud = 115200
Config Portb = Input
Portb = &B11111111
Do
If Pinb.0 = 0 Then Print "1"
If Pinb.1 = 0 Then Print "2"
If Pinb.2 = 0 Then Print "3"
If Pinb.3 = 0 Then Print "4"
If Pinb.4 = 0 Then Print "X"
Loop
i Odbieranie"
$regfile = "m16def.dat"
$crystal = 2000000
$baud = 115200
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 20 * 4
Dim Uart As Word
Cls
Do
Uart = Inkey()
If Uart > 0 Then
If Chr(uart) = "1" Then
Locate 2 , 1
Lcd "Bieg 1"
End If
If Chr(uart) = "2" Then
Locate 2 , 1
Lcd "Bieg 2"
End If
If Chr(uart) = "3" Then
Locate 2 , 1
Lcd "Bieg 3"
End If
End If
Loop
End
Programy, jeśli tak to można nazwać działają w symulatorze, ale tylko wtedy, gdy ich prędkość jest identyczna.
Chciał bym, by można było ustawić różne prędkości oscylatorów i nie kolidowało by to z przesyłaniem danych.
Nie wspomnę już ,że super by było przesyłać całe ciągi znaków a nie tylko jeden.