Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

UART работает, проблема, видимо c четностю...

Отправлено Ti 13 декабря 2007 г. 18:29


по идеи, приняли символ - отослали.
при 9600 принятый символ "теряется" при приеме...
на скорости 1200 (Терминальной программы!!!) при UBRR=59 (9600) байты почти правильно посылаются (оно и не мудрено)... вот если установить UBRR=479 (1200) - ситуация аналогична если оби стороны настраиваю на 9600

Что-то тут не то...


.include "tn2313def.inc"
.def temp = R16
.def temp1 = R1
.cseg
rjmp RESET
nop
nop
nop
nop
nop
nop
rjmp USART_RXC
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
;----------------------------------------------------------------------
RESET:
ldi temp, low(RAMEND)
out SPL,temp

ldi temp, (1<< RXEN)|(1<< TXEN)|(1<< RXCIE)
out UCSRB,temp ; Разрешим прием, передачу и прерывание
clr temp
out UCSRA,temp
ldi temp, (1<< UCSZ0)|(1<< UCSZ1)
out UCSRC,temp ; Установим формат передачи данных 8data,1stop bit
ldi temp, 0x00
out UBRRH, temp
ldi temp, 0x3B
out UBRRL, temp ; Установим скорость 9600 bps @ 9.216MHz
sei
;----------------------------------------------------------------------
forever:
rjmp forever

USART_RXC:
sbis UCSRA,UDRE
rjmp USART_RXC

in temp,UDR
out UDR, temp

RETI



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru