mam taki problem mianowicie zbudowałem dwa układy jeden działa jako master-steruje wyjsciami,odlicza czas itp. a drugi
slave - ma za zadanie tylko wyświetlać to co mu master wyśle
Napisałem krótki program ale on tylko przy włączeniu zasilania odczyta dana wartość a potem już nie a mi zależy aby cały czas sprawdzał co mu master wysyła
Master-nadajnik
Kod: Zaznacz cały
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
'------------------------pierwsza próba----------------------------------------
'Config Portd.2 = Output
'Kierunek Alias Portd.2
'Config Serialin = Buffered , Size = 15
' set kierunek
'-------------------------------------------------------------------------------
'------------------------druga próba--------------------------------------------
$hwstack = 42 ' default use 32 for the hardware stack
$swstack = 40 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
$lib "modbus.lbx"
Config Print0 = Portd.2 , Mode = Set
Kierunek Alias Portd.2
Config Kierunek = Output
Kierunek = 1
'-------------------------------------------------------------------------------
Dim A As Integer
A = 1
Do
Print A
Wait 1
A = A + 1
Loop
Kod: Zaznacz cały
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
Config Lcdpin = Pin , Db4 = Pordc.3 , Db5 = Pordc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Lcd = 20 * 4
'----------------------------------pierwsza proba-------------------------------
'Config Serialin = Buffered , Size = 15
'Config Pind.2 = Output
'Kierunek Alias Portd.2
'Reset Kierunek
'-------------------------------------------------------------------------------
'------------------------------------druga proba--------------------------------
$hwstack = 42 ' default use 32 for the hardware stack
$swstack = 40 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
$lib "modbus.lbx"
Config Print0 = Portd.2 , Mode = Set
Kierunek Alias Portd.2
Config Kierunek = Output
Kierunek = 0 ' go to receive mode
'-------------------------------------------------------------------------------
'zmienia kierunek transmisji
Enable Interrupts
Dim A As Integer
Cls
Cursor Off
Do
Input A
Waitms 100
Locate 1 , 1
Lcd A
Loop 'end program
End