Witam
Atmega328 i Attiny2313 przez RS485
Atmega328 Master - zapis na razie wyzwalany przez Timer
ATtiny2313 Slave
Wpięcie się PC-tem pomiędzy układ RS485 i ATtiny2313 - mam na konsoli MOD001. Ale Attiny2313 nie raczy nic odpowiedzieć. Chyba nie przeszkadza mu to, że początki ciągu są takie same ?
Połączone kablem płaskim czterożyłowym z wtykami RJ11, oprócz sygnałów A i B jest GND
Atmega328 i Attiny2313 przez RS485
Atmega328 Master - zapis na razie wyzwalany przez Timer
If Flaga_001 = 1 Then
Set Re_de
Waitms 1
Print "MOD001 " ; Chr(13);
Waitms 1
Reset Re_de
Flaga_001 = 0
Licznik_mod001 = 0
End If
ATtiny2313 Slave
$regfile = "attiny2313.dat"
$crystal = 8000000
$baud = 4800
'********************* Konfiguracja magistrali 1-Wire
Config 1wire = Portd.5
'*********************
Config Serialin = Buffered , Size = 12 , Bytematch = 13
Enable Interrupts
'********************* Konfiguracja wejść i wyjść
Config Portd.2 = Output ' sterowanie RS485
Reset Portd.2
'********************* Deklaracje zmiennych
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte
Dim I1 As Integer
Dim I2 As Integer
Dim Flaga_rs As Bit
Dim Tx As String * 7
Dim Tx1 As String * 7
Declare Sub Odczytaj
Flaga_rs = 0
Re_de Alias Portd.2
'********************* Adres pierwszego DS18B20
Dsid1(1) = &H28
Dsid1(2) = &H9F
Dsid1(3) = &H79
Dsid1(4) = &H25
Dsid1(5) = &H03
Dsid1(6) = &H00
Dsid1(7) = &H00
Dsid1(8) = &H00
'********************* Adres drugiego DS18B20
Dsid2(1) = &H28
Dsid2(2) = &H24
Dsid2(3) = &H47
Dsid2(4) = &H25
Dsid2(5) = &H03
Dsid2(6) = &H00
Dsid2(7) = &H00
Dsid2(8) = &HD9
Do
'********************* odczyt pierwszego DS18B20
1wreset
1wwrite &H55
1wverify Dsid1(1)
1wwrite &HBE
I1 = 1wread(2)
Waitms 750
'********************* odczyt drugiego DS18B20
1wreset
1wwrite &H55
1wverify Dsid2(1)
1wwrite &HBE
I2 = 1wread(2)
Waitms 750
'********************* konwersja dla wsaystkich DS18B20
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
If Flaga_rs = 1 Then
Input Tx
Flaga_rs = 0
End If
Tx1 = Mid(tx , 1 , 6)
If Tx1 = "MOD001" Then
Gosub Odczytaj
End If
Loop
End
'*********************** Obsługa bufora UART
Serial0charmatch:
Flaga_rs = 1
Return
Sub Odczytaj
Set Re_de
Waitms 1
Print "MOD001" ; I1 ; "," ; I2 ; Chr(13);
Waitms 1
Reset Re_de
End Sub
Wpięcie się PC-tem pomiędzy układ RS485 i ATtiny2313 - mam na konsoli MOD001. Ale Attiny2313 nie raczy nic odpowiedzieć. Chyba nie przeszkadza mu to, że początki ciągu są takie same ?
Połączone kablem płaskim czterożyłowym z wtykami RJ11, oprócz sygnałów A i B jest GND
