Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с USART в режиме AT91C_US_USMODE_HWHSH
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Sanya_kv
Проблема в следующем.
Проблема с USART в режиме AT91C_US_USMODE_HWHSH
Процессор не хочет переводить ножку RTS в активное состояние ( в 0).

Ножки инициализирую:
Код
AT91C_BASE_PIOA->PIO_ASR = AT91C_PA21_RXD1|AT91C_PA22_TXD1;//Вкл аллтернативные функции А
AT91C_BASE_PIOA->PIO_PDR = AT91C_PA21_RXD1|AT91C_PA22_TXD1;//Запрешение PIO на этих ножках
if(mode == AT91C_US_USMODE_HWHSH)
{
AT91C_BASE_PIOA->PIO_ASR = AT91C_PA25_CTS1|AT91C_PA24_RTS1;//Вкл аллтернативные функции А
AT91C_BASE_PIOA->PIO_PDR = AT91C_PA25_CTS1|AT91C_PA24_RTS1;//Запрешение PIO на этих ножках
}

US_CR = AT91C_US_RTSEN; не спасает.

хотя USART принимает все нормально и AT91C_US_RXRDY == 0;

Если кто сталкивался с этим, помогите. Не хотелось бы упровлять RST вручную.
С Уважением, Александр.
aaarrr
Цитата(Sanya_kv @ May 22 2009, 11:21) *
if(mode == AT91C_US_USMODE_HWHSH)

А mode точно равно AT91C_US_USMODE_HWHSH, а не AT91C_US_USMODE_HWHSH | <что-нибудь еще>?

Цитата(Sanya_kv @ May 22 2009, 11:21) *
Не хотелось бы упровлять RST вручную.

Если собираетесь работать с виндой, например, то придется.
Sanya_kv
Цитата
А mode точно равно AT91C_US_USMODE_HWHSH, а не AT91C_US_USMODE_HWHSH | <что-нибудь еще>?

Код
AT91C_BASE_US1->US_MR = AT91C_US_CHRL_8_BITS|AT91C_US_NBSTOP_1_BIT|AT91C_US_PAR_NONE|AT91C_US_USMODE_HWH
SH
aaarrr
Я имел в виду здесь:
Код
if(mode == AT91C_US_USMODE_HWHSH)
Sanya_kv
Точнее не бывает

Кажется разобрался. Ножка RTS контролируется только в DMA режиме на чтение с USART.

Буфер заполняется, RTS подымается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.