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

 
 
> SAM7S128 USART IrDA Mode
Neutron
сообщение Nov 9 2011, 07:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 1-10-07
Пользователь №: 30 960



Доброго времени суток,
Пытаюсь соединить 2 одинаковые устройства по IRDA, приёмники RPM872-H14,
передача работает, на стороне приёма вижу отрицательные импульсы идущие в порт,
однако байты не принимаются - прерываний нет, когда переключаю на AT91C_US_USMODE_NORMAL и подаю обычный сигнал 232, приём есть.
Вот код инициализации:

CODE
AT91S_USART * pUSART = AT91C_BASE_US0; // pointer to Com0
AT91F_US0_CfgPMC();
*AT91C_PIOA_PDR = AT91C_PA5_RXD0 | AT91C_PA6_TXD0;
*AT91C_PIOA_ASR = AT91C_PA5_RXD0 | AT91C_PA6_TXD0;

pUSART->US_CR = AT91C_US_RSTRX | /* Reset Receiver */
AT91C_US_RSTTX | /* Reset Transmitter */
AT91C_US_RXDIS | /* Receiver Disable */
AT91C_US_TXDIS; /* Transmitter Disable */

pUSART->US_MR = AT91C_US_USMODE_IRDA |
AT91C_US_CLKS_CLOCK | /* Clock = MCK */
AT91C_US_CHRL_8_BITS | /* 8-bit Data */
AT91C_US_PAR_NONE | /* No Parity */
AT91C_US_NBSTOP_1_BIT; /* 1 Stop Bit */

pUSART->US_FIDI = 2;
pUSART->US_IF = 5;

pUSART->US_BRGR = 312; // 9600 @ 48Mhz

// interrumps ...
pUSART->US_CR = AT91C_US_RXEN ;
AT91F_US_EnableIt( pUSART, AT91C_US_RXRDY );

/* Enable the interrupts in the AIC. */
AT91F_AIC_ConfigureIt( AT91C_BASE_AIC, AT91C_ID_US0, 3, 0, ( void (*)( void ) ) vSerialISREntry0 );
AT91F_AIC_EnableIt( AT91C_BASE_AIC, AT91C_ID_US0 );


Игра с установкой FILTER = 1, US_IF, никакого результата не дала.
Что делаю не так? http://electronix.ru/forum/style_emoticons...t/smile3046.gif

Сапсибо за ответы.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Neutron   SAM7S128 USART IrDA Mode   Nov 9 2011, 07:13


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

 


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


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