USART komunikasyon error (ATmega16)

K

kmail890

Guest
Uy, Mayroon akong problema sa komunikasyon ng USART sa ATmega16, ako gamit ang USB-RS232 converter ([url = http://www.recursion.jp/avrcdc/] AVR-CDC [/url]), na may pinakabagong driver at firmware, ngunit simpleng echo ay hindi gumagana: (atmega ay clocked sa pamamagitan ng 11.0592MHz kristal, kaya dapat na walang mga error Narito ang code:
Code:
 # Tukuyin FOSC 11,059,200 # tukuyin ang BAUD 9600 # tukuyin MYUBRR FOSC/16 / BAUD-1 # include # include # include # include void USART_Init (unsigned int); void USART_Transmit (unsigned magpasinda data); unsigned magpasinda USART_Receive (walang bisa); unsigned magpasinda isang; int pangunahing (walang bisa) {(MYUBRR) USART_Init; habang ( 1) {isang = USART_Receive (); USART_Transmit (a);}} void USART_Init (unsigned int ubrr) {/ * Set baud rate * / UBRRH = (unsigned magpasinda) (ubrr >> 8); UBRRL = (unsigned magpasinda) ubrr; / * Paganahin ang receiver at transmiter * / UCSRB = (1
 
Dalawang tanong: 1. Kung kakalas ka ang ATmega at Connect Rx at TX sa PC (?) Kang makatanggap ng kung ano ang iyong magpadala? 2. Kung muli kang kumonekta ang ATmega, ano ang gagawin mo makita sa Rx at TX gumagamit ng osiloskoup? Tingin ko dapat mong paganahin ang UART pagkatapos na i-set ang format ng frame, hindi bago.
 
1. Oo, echo sa USB-RS232 converter ay tama 2. Sa kasamaang palad hindi ko magkaroon ng isang osiloskoup ... Pagpapagana sa UART pagkatapos na i-set ang format ng frame ay hindi malutas ang problema
 
Subukan upang humiram ng osiloskoup kung maaari. I-verify na setup ay tapos nang eksakto tulad ng Atmel ilarawan sa ilang mga tala ng application.
 
okay na ito ay gumagana ngayon, ako gamit ang USB-RS232 converter na binubuo ng ATtiny2313 at MAX3232, kapag ako ay konektado RXD at TXD direkta sa ATtiny2313, hindi gumagamit ng MAX3232, ang lahat ng nagsimula upang gumana nang maayos, salamat para sa iyong tulong!
 

Welcome to EDABoard.com

Sponsor

Back
Top