Jednak zanim napiszę główny program, to poproszę o sprawdzenie przykładowego, master ma za zadanie wysyłać 2 zmienne do 2 slave`ów jedna zmienna to adres, a dróga to ta właściwa
Master
Kod: Zaznacz cały
$regfile = "attiny2313.dat"
$crystal = 4000000
Config Serialin = Buffered , Size = 15
Const A = 3 'stała adresu slave
Const A2 = 5 ' stała adresu slave2
Dim B As Byte 'zmienna licznika
B = 0
Do 'początek pętli
B = B + 1
Print A ; B 'wyślij adres slave i zmienną licznika
Waitms 100
B = B + 1
Waitms 100
Print A2 ; B `wyślij adres slave2 i zmienną
If B = 50 Then
B = 0
End If
Loop ' koniec pętliKod: Zaznacz cały
$regfile = "m16def.dat"
$crystal = 4000000
$sim
Config Serialin = Buffered , Size = 15
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5
Dim Ad As Byte 'zmienna przechowująca adres
Dim B As Byte ' zmienna do wyświetlenia
Ad = 0
B = 0
Do
input A , B ' odebranie zmiennej adresu i licznika
If Ad = 5 Then ' jeżeli zmienna adresowa to 5 to
Cls ' czyść lcd
Lcd "odebrano" ; B ' wyświetl na lcd tą zmienną
End If
LoopKod: Zaznacz cały
$regfile = "m16def.dat"
$crystal = 4000000
$sim
Config Serialin = Buffered , Size = 15
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5
Dim Ad As Byte 'zmienna przechowująca adres
Dim B As Byte ' zmienna do wyświetlenia
Ad = 0
B = 0
Do
input A , B ' odebranie zmiennej adresu i licznika
If Ad = 5 Then ' jeżeli zmienna adresowa to 5 to
Cls ' czyść lcd
Lcd "odebrano" ; B ' wyświetl na lcd tą zmienną
End If
Loop