sts (14.02.2006 16:22, просмотров: 1) ответил mse на А слабо выложить инициализацию УАРТа и порта? Такое впечатление, что по умолчанию в порту "0". TXEN="1" перешибает установку порта, а после передачи TXEN="0" возвращает состояние порта "0". А сбои, ИМХО, от не той ч
точно, так и оказалось Проблема в том, что мне приходится ковыряться в чужом девайсе почти без документации. Причём выяснилось, что работающая прошивка не соответствует прилагаемой. А прилагаемая не работает вообще ;-((( Написал тест только с инициализацией - лог.1 появилась.
Имеется два авр'а, один передаёт кучку данных, другой разгребает. Также можно контролировать их работу через io порты PC. Передающий авр живёт на шине PC. Принимающий авр находится на удалении около 150м (развязка,rs485).
из документации: (ещё не проверил что в прошивке)
передающий uart
ldi tmp,0b01110010
out DDRD,tmp
ldi tmp,0b00011000
out UCR,tmp
ldi tmp,25
out UBRR,tmp
принимающий uart
ldi tmp,0b01110010
out DDRD,tmp
ldi tmp,0b00010000
out UCR,tmp
ldi tmp,25
out UBRR,tmp
передача данных
out UDR, byte1
TxB1:
in tmp0,USR
sbrs tmp0,TXC
rjmp TxB1
out UDR, byte2
TxB2:
in tmp0,USR
sbrs tmp0,TXC
rjmp TxB2
out UDR,byte2
...
приём данных
RxB1:
in tmp,USR
sbrs tmp,RXC
rjmp RxB1
in Byte1,UDR
cbi USR,RXC
RxB2:
in tmp,USR
sbrs tmp,RXC
rjmp RxB2
in Byte2,UDR
cbi USR,RXC
...