Witam, połączyłem procesor atmega8 z atmega16 za pomocą sprzetowe go interfacu UART, bezposrednio nogi PD1 i PD0 odpowiednio zamieniajac koncowki RX do TX i TX do RX Dlugosc kabla 20 cm. Procesory zasilane sa z odzielnych stabilizatorow(5V +- 5%) ale mają wspólną masę. Oba pracują z zewnetrznym kwarcem 16Mhz, maja poprawnie ustawione Fusy.
problem polega na tym ze albo wogole niema transmisji, albo jest ona z dziwnymi bledami zaleznie od konfiguracji:
Na wyswietlaczu otrzymuje kilka srednio powtarzajacych sie cyferek przeplatanych zerami, ktore nie odpowiadaja w zadnym stopniu temu co sie wyslalo. Probowalem rozne konfiguracje predkosci, parzystosci itp i nic !!
Proszę o poradę w czym moze lezec problem, czy trzeba dawac jakis negator miedzy atmegami, moze jakos inaczej wysylac dane itp ?? Przesiedzialem okolo 8 godzin nad roznymi konfiguracjami i nie doszedlem do interesujacych wniosków :/
Proszę umieszczać listingi programów w znacznikach "Code", oraz korzystać z przycisku "Pisownia". [c_p]
problem polega na tym ze albo wogole niema transmisji, albo jest ona z dziwnymi bledami zaleznie od konfiguracji:
$regfile = "m16def.dat"
$crystal = 16000000
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 1 , Ce2 = 0 , Cd = 4 , Rd = 3 , Reset = 2 , Enable = 5
Config Com1 = 19200 , Synchrone = 0 , Parity = Odd , Stopbits = 2 , Databits = 8 , Clockpol = 0
$baud = 19200
Baud = 19200
'
'Taki konfig portu com jest wgrany do wiekszego procka jak i do małego.
'(w malym oczywiscie jest mega8.def i nie ma Graphlcd)
'
'dalej nastepuje wysyłanie cyferek przez UART za pomocą mega8:
do
Print "a"
waitms 20
print "b"
waitms 20
loop
i odbiór w mega16:
Do
For I = 2 To 8
For J = 1 To 100 Step 30
B = Waitkey()
Lcdat I , J , B
Next J
Next I
Cls
Loop
Na wyswietlaczu otrzymuje kilka srednio powtarzajacych sie cyferek przeplatanych zerami, ktore nie odpowiadaja w zadnym stopniu temu co sie wyslalo. Probowalem rozne konfiguracje predkosci, parzystosci itp i nic !!
Proszę o poradę w czym moze lezec problem, czy trzeba dawac jakis negator miedzy atmegami, moze jakos inaczej wysylac dane itp ?? Przesiedzialem okolo 8 godzin nad roznymi konfiguracjami i nie doszedlem do interesujacych wniosków :/
Proszę umieszczać listingi programów w znacznikach "Code", oraz korzystać z przycisku "Pisownia". [c_p]