ARM7
수신 인터럽트에의한 직렬 통신
빛나는 미래
2009. 12. 10. 23:35
#include "AT91SAM7S256.h"
#include "lib_AT91SAM7S256.h"
#include "OK7S256ads.h"
void DBGU_RX_ISR(void)
{
DBGU_TX_char('1');
DBGU_TX_char('2');
}
void DBGU_TX_char(unsigned int data)
{
while(!(*AT91C_DBGU_CSR = 0x0002));//AT91C_DBGU_CSR 채널 상태 레지스터
*AT91C_DBGU_THR = data; //TRANSSMMITER HOLDING REGISTER
}
int main(void)
{
AT91F_DBGU_CfgPMC();
AT91F_DBGU_CfgPIO();
*AT91C_DBGU_MR = 0x00000800;//Mode Register
*AT91C_DBGU_BRGR =26; //Baud Rate Generator Register
*AT91C_DBGU_CR = 0x00000150;// Control Register
AT91F_DBGU_InterruptEnable(AT91C_BASE_DBGU,AT91C_US_RXRDY);
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,AT91C_ID_SYS,7,1,DBGU_RX_ISR);
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_US0);
while(1);
}