Witam,
Potrzebuje program do przesylania danych miedzy dwoma procesorami typu attiny2313.
Jeden wysyla, drugi odbiera i identyfikuje co odebral. cos takiego.
Moglby mi ktos pomoc albo przeslac gotowy kod?
Z gory dziekuje.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięKomunikacja attiny2313
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Przyklad:
'Przyk│ad buforowego odbioru danych przez RS232 (w przerwaniu)
'predkosc transmisji 9600 bodow
$regfile = "m8def.dat" 'informuje kompilator o pliku dyrektyw wykorzystywanego mikrontrolera
$crystal = 8000000 'informuje kompilator o czestotliwosci rezonatora kwarcowego
$baud = 9600 'informuje kompilator o predkosci transmisji
Config Lcd = 16 * 2 'konfiguracja organizacji znakow wyswietlacza LCD
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 'konfiguracja pinow mikrokontrolara do ktorych dolaczone zostaly linie wyswietlacza
Config Serialin = Buffered , Size = 50 'konfiguracja bufora wejsciowego
Dim Znak As String * 1 'definicja zmiennej znak typu string
Dim Poz As Byte 'definicja zmiennej poz typu byte
Enable Interrupts 'odblokowanie przerwan globalnych
Cls 'czysc lcd
Poz = 1 'wartosc poczatkowa zmiennej poz
Do 'nieskonczona petla do-loop
Znak = Inkey() 'odbierz znak z bufora wejsciowego
If Asc(znak) > 31 Then 'jezeli wartosc ascii odebranego znaku wieksza niz 0 to
If Poz = 17 Then 'jesli zmienna poz=17 to
Cls 'czysc lcd
Poz = 1 'zapisz do poz wartosc 1
End If
Lcd Znak 'wyswietl na lcd odczytany z bufora znak
Incr Poz 'zwieksz o jeden wartosc zmiennej poz
End If
Wait 1 'czekaj 1 sekunde
Loop 'koniec nieskonczonej petli
End 'koniec programu
'Przyk│ad buforowego odbioru danych przez RS232 (w przerwaniu)
'predkosc transmisji 9600 bodow
$regfile = "m8def.dat" 'informuje kompilator o pliku dyrektyw wykorzystywanego mikrontrolera
$crystal = 8000000 'informuje kompilator o czestotliwosci rezonatora kwarcowego
$baud = 9600 'informuje kompilator o predkosci transmisji
Config Lcd = 16 * 2 'konfiguracja organizacji znakow wyswietlacza LCD
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 'konfiguracja pinow mikrokontrolara do ktorych dolaczone zostaly linie wyswietlacza
Config Serialin = Buffered , Size = 50 'konfiguracja bufora wejsciowego
Dim Znak As String * 1 'definicja zmiennej znak typu string
Dim Poz As Byte 'definicja zmiennej poz typu byte
Enable Interrupts 'odblokowanie przerwan globalnych
Cls 'czysc lcd
Poz = 1 'wartosc poczatkowa zmiennej poz
Do 'nieskonczona petla do-loop
Znak = Inkey() 'odbierz znak z bufora wejsciowego
If Asc(znak) > 31 Then 'jezeli wartosc ascii odebranego znaku wieksza niz 0 to
If Poz = 17 Then 'jesli zmienna poz=17 to
Cls 'czysc lcd
Poz = 1 'zapisz do poz wartosc 1
End If
Lcd Znak 'wyswietl na lcd odczytany z bufora znak
Incr Poz 'zwieksz o jeden wartosc zmiennej poz
End If
Wait 1 'czekaj 1 sekunde
Loop 'koniec nieskonczonej petli
End 'koniec programu
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 25 gości