ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
53003 Топик полностью
0men (05.03.2006 17:28, просмотров: 1) ответил Aelex_AZT на AT91SAM7S64 USART проблема
Смотрим пример в IAR и видим, что там все разжевано по самое немогу :) Моя функция инициализации уарта такая
void UART1_Init( void )
{
    // enable the clock of the USART1
	AT91C_BASE_PMC->PMC_PCER = (1<PIO_PDR = AT91C_PA21_RXD1 | AT91C_PA22_TXD1;
    AT91C_BASE_PIOA->PIO_ASR = AT91C_PA21_RXD1 | AT91C_PA22_TXD1;

	AT91C_BASE_US1->US_CR = AT91C_US_RXEN | AT91C_US_TXEN;
	AT91C_BASE_US1->US_MR = AT91C_US_CHRL_8_BITS | AT91C_US_PAR_NONE;


    // èíèöèàëèçàöèÿ âåêòîðà ïðåðûâàíèé
	AT91F_AIC_Init( AT91C_BASE_AIC, AT91C_ID_US1, 7, AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, Usart1_c_irq_handler );

    // ðàçðåøàåì ïðåðûâàíèå ïî ïðèåìó áàéòà è âîîáùå ïðåðûâàíèÿ îò US1
    AT91C_BASE_US1->US_IER = AT91C_US_RXRDY;
	AT91C_BASE_AIC->AIC_EOICR = 0xffffffff; // ýòà ñòðîêà òîëüêî äëÿ êîððåêòíîé ðàáîòû ñ J-link !!!
    AT91C_BASE_AIC->AIC_IECR = 1 << AT91C_ID_US1;

   	AT91C_BASE_US1->US_BRGR = 26; // 115200
}