📄 usart.c
字号:
#include "common.h"
#include "usart.h"
uchar usart_getc(void) {
while((*AT91C_US0_CSR & AT91C_US_RXRDY) == 0);
return (*AT91C_US0_RHR & 0xFF);
}
void usart_putc(uchar data) {
while((*AT91C_US0_CSR & AT91C_US_TXRDY) == 0);
*AT91C_US0_THR = (data & 0xFF);
}
void usartInit(void) {
//Enable Clock Source for USART
*AT91C_PMC_PCER = 1<<AT91C_ID_US0;
//Set baudrate (9600bps)
*AT91C_US0_BRGR = 5; //62; //MCK / (16 * 19200);
*AT91C_US0_IDR = (unsigned int) -1;
//Set mode
*AT91C_US0_MR = 0x000008C0;
//Configure i/o ports
*AT91C_PIOA_PPUDR = (1<<5 | 1<<6);
*AT91C_PIOA_PDR = (1<<5 | 1<<6);
*AT91C_PIOA_ASR = (1<<5 | 1<<6);
//Enable transmitter/receiver
*AT91C_US0_CR = AT91C_US_TXEN;
*AT91C_US0_CR = AT91C_US_RXEN;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -