Witam.
Od kilku dni próbuję uruchomić komunikację pomiędzy dwoma atmegami. Do tego celu wykorzystałem kilka sposobów przesyłu, ale żaden nie był skuteczny.
Ciekawi mnie co robię nie tak... ok powoli nawet irytuje.
Mam wrażenie, że coś pominąłem...
Atmegi są ustawione na 8MHz lfuse - 0xe4 , hfuse - 0xD9
pind.0 (rx) pierwszego do pind.1 (tx) drugiego
pind.1 (tx) pierwszego do pind.0 (rx) drugiego
przykładowy program, który wg forumowiczów działa (niestety u mnie brak reakcji, tak jakby zatrzymywał się na input):
nadajnik:
odbiornik:
Oprócz napisu "uruchomione" na wyświetlaczu nic się nie wyświetla.
Niestety nie mam dostępu do oscyloskopu co bardzo by ułatwiło pracę. napięcie tx = 5v rx= ok 1v - wartości takie same na obydwu prockach.
Z najciekawszych rad moich kolegów mogę wymienić "hmm podłącz zasilanie...". Podłączyłem - nie pomogło
Proszę was o jakąkolwiek pomoc!
Pozdrawiam
Krzysztof
Od kilku dni próbuję uruchomić komunikację pomiędzy dwoma atmegami. Do tego celu wykorzystałem kilka sposobów przesyłu, ale żaden nie był skuteczny.
Ciekawi mnie co robię nie tak... ok powoli nawet irytuje.
Mam wrażenie, że coś pominąłem...
Atmegi są ustawione na 8MHz lfuse - 0xe4 , hfuse - 0xD9
pind.0 (rx) pierwszego do pind.1 (tx) drugiego
pind.1 (tx) pierwszego do pind.0 (rx) drugiego
przykładowy program, który wg forumowiczów działa (niestety u mnie brak reakcji, tak jakby zatrzymywał się na input):
nadajnik:
$regfile = "m32def.dat"
$crystal = 8000000
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 5 , Ce2 = 4 , Cd = 1 , Rd = 2 , Reset = 3 , Enable = 0
Setfont Font8x8
Cls
$baud = 1200
Config Serialin = Buffered , Size = 20
Config Serialout = Buffered , Size = 20
Enable Interrupts
Dim A As Single
Dim A1 As String * 6
A = 123
Dim S As Byte
Dim S1 As String * 3
S = 1
Do
For S = 1 To 25
S1 = Str(s)
A1 = Str(a)
Print S1 ; Chr(13);
Print A1 ; Chr(13);
Lcdat 1 , 1 , "wy " ; A1
Lcdat 2 , 1 , "wy " ; S1
Wait 1
Next S
Loop
End
'**** BIBLIOTEKI ***************
$include "font8x8.font"
odbiornik:
$regfile = "m32def.dat"
$crystal = 8000000
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 5 , Ce2 = 4 , Cd = 1 , Rd = 2 , Reset = 3 , Enable = 0
Setfont Font8x8
$baud = 1200
Config Serialout = Buffered , Size = 20
Config Serialin = Buffered , Size = 100
Enable Interrupts
Dim X As Byte
Dim A As Single
Dim A1 As String * 6
Dim S As Byte
Dim S1 As String * 3
Cls
Lcdat 4 , 4 , "uruchomione"
Do
Input S1
Input A1
S = Val(s1)
A = Val(a1)
Lcdat 1 , 1 , "Od" ; S
Lcdat 2 , 1 , "Od" ; A
Incr X
Lcdat 3 , 1 , X
Loop
End
'**** BIBLIOTEKI ************
$include "font8x8.font"
Oprócz napisu "uruchomione" na wyświetlaczu nic się nie wyświetla.
Niestety nie mam dostępu do oscyloskopu co bardzo by ułatwiło pracę. napięcie tx = 5v rx= ok 1v - wartości takie same na obydwu prockach.
Z najciekawszych rad moich kolegów mogę wymienić "hmm podłącz zasilanie...". Podłączyłem - nie pomogło
Proszę was o jakąkolwiek pomoc!
Pozdrawiam
Krzysztof