реклама на сайте
подробности

 
 
> Проблема с USRT у AT91SAM7S256
subver
сообщение Aug 20 2007, 09:00
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Добрый день.

Такая проблема: неправильно принимаются данные по USART, причем если передаваемые байты лежат в диапазоне 0x00-0x80 - то все окей.
если больше 0x80, то принимается какая-то ерунда, чаще всего вида 0xFF. Что такое может быть?
Проверено на нескольких платах. Осциллографом - сигнал корректный.

Процедура инициализации

AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA,RS485_RX|RS485_TX|RS485_TR,0);
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC,1<<AT91C_ID_US1);
AT91C_BASE_US1->US_BRGR =(5<<16)|326;
AT91C_BASE_US1->US_RTOR = 65534;
AT91C_BASE_US1->US_TTGR = 4;
AT91C_BASE_US1->US_IDR = 0xFFFFFFFF;
AT91C_BASE_US1->US_MR = AT91C_US_CHRL_8_BITS | AT91C_US_PAR_NONE | AT91C_US_OVER | AT91C_US_USMODE_RS485;
AT91C_BASE_US1->US_CR = AT91C_US_RXEN | AT91C_US_TXEN;
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,AT91C_ID_US1,RS485INTPRIOR,AT91C_AIC_SRCTYP
E_INT_LEVEL_SENSITIVE, RS485Irq);
AT91C_BASE_US1->US_IER = AT91C_US_ENDRX;
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_US1);
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.03171 секунд с 7
ELECTRONIX ©2004-2016