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

 
 
> USART на AT91rm9200, Последовательность действий
Daermon
сообщение Nov 12 2007, 09:41
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 26-10-07
Пользователь №: 31 739



Помогите разобраться с последовательностью действий для работы с USART на AT91rm9200

Произвожу след действия:

_Usart.Init(AT91C_BASE_US1,AT91C_US_ASYNC_MODE, AT91C_ID_US1);
_Usart.AIC_Config_EnableInterrupt(AT91C_BASE_US1,AT91C_ID_US1);
_Usart.Start(AT91C_BASE_US1,AT91C_ID_US1);


void Usart1::Init(AT91PS_USART USART_PT, unsigned int Mode, unsigned int UsartId)
{
AT91F_US_Close(USART_PT);
AT91C_BASE_PMC->PMC_PCDR |= (1<<UsartId);

// На плате AS-9200 выведен разьем USART1 его и конфигурирую...вот правильно или нет - не знаю!
AT91C_BASE_PIOB->PIO_ASR = ((unsigned int) AT91C_PB21_RXD1)|((unsigned int) AT91C_PB20_TXD1);
AT91C_BASE_PIOB->PIO_BSR = 0;
AT91C_BASE_PIOB->PIO_PDR = ((unsigned int) AT91C_PB21_RXD1)|((unsigned int) AT91C_PB20_TXD1);

AT91C_BASE_PMC->PMC_PCER |=(1<< UsartId);

AT91F_US_Configure(USART_PT, MCK, Mode ,57600 ,0 );

}


void Usart1::AIC_Config_EnableInterrupt(AT91PS_USART USART_PT,unsigned int UsartId)
{
unsigned int status;
status=(USART_PT->US_CSR) ;
status=status;
AIC_DisableInterrupt(UsartId);
AIC_Config(USART_PT,UsartId);
AIC_EnableInterrupt(UsartId);
}


void Usart1::Start(AT91PS_USART USART_PT,unsigned int UsartId)
{
AT91F_US_EnableTx(USART_PT);
WriteData(USART_PT,"0xaa",sizeof("0xaa"),0,0);
}

void Usart1::WriteData(AT91PS_USART USART_PT ,char *buffer, unsigned int counter,char *buffer2,unsigned int counter2)
{
AT91PS_PDC pPDC= (AT91PS_PDC) &(USART_PT->US_RPR);
if( ( pPDC->PDC_TCR)==0)
{
pPDC->PDC_TPR = (unsigned int)buffer;//RS232_Buf.Buf_Out;//
pPDC->PDC_TCR = counter;//RS232_Buf.TxSize;//
AT91F_US_EnableIt (USART_PT, AT91C_US_ENDTX);
}
if((pPDC->PDC_TNCR)==0)
{
pPDC->PDC_TNPR = (unsigned int)buffer2;
pPDC->PDC_TNCR = counter2;
AT91F_US_EnableIt (USART_PT, AT91C_US_ENDTX);
}
return;
}


Правильно ли я делаю?
Go to the top of the page
 
+Quote Post



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

 


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


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