pokusavam povezati 2 ATmega8 preko UART-a. Komunikacija je jednosmerna, pa jedan uC koristim kao odasiljacki, a drugi kao prijemni. Naravno, naletio sam na problem... Ocekivao sam signal iz Tx UART-a kao sto je opisan na linku:
http://www.atmel.com/Images/doc0941.pdf
dakle, start bit, oktet, stop bit, ali uz start bit i oktet koji saljem uvijek se pojavi sekvenca koja mi nije jasna... Slika signala je u privitku...
Zanima me sto je uopce ta sekvena, zasto se javlja i kako da je uklonim.
Evo i kodovi za Tx i Rx uC (Bascom AVR):
Tx:
Code: Select all
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9200
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Pind.2 = Input
Config Pind.1 = Output
On Int0 Posalji_znak
Config Int0 = Falling
Enable Int0
Enable Interrupts
Do
Loop
Posalji_znak:
Print "m"
Return
Code: Select all
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9200
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Pind.0 = Input
Config Pinb.0 = Output
Dim Broj As Byte
On Urxc Primljen_znak
Enable Urxc
Enable Interrupts
Do
Loop
Primljen_znak:
Broj = Inkey()
Portb = Broj
Return
Ocekivao sam da ce LED spejena na PORTB.0 Rx uC-a zasvijetliti ako je poslan znak ciji je LSB 1, ali bez obzira koji znak saljem nema nikakvog ucinka.
Svaka pomoc dobro bi dosla!
Pozdrav,
Shiki