ARM9教程DSP教程FPGA教程CPLD教程12A软硬件设计0229
#define SET_UART_RI(x, b) (UART_SCON(x)=(UART_SCON(x) & 0xFE) | b )
void srl0_init( unsigned int base, unsigned int baudrate ) {
unsigned short baud_calc;
UART_TCON(base) = 0x00; // 0b00000000 // |
// `-------- Timer Run Control = 0: stop UART_SCON(base) = 0x50; // 0b01010000 // || | ||
// || | |`-- RI = 0: clear receiver interrupt // || | `--- TI = 0: clear transmitter interrupt // || `------ REN = 1: enable receiver
// ``-------- SMOD = 01: mode 1 (8 bit UART with variable baudrate) UART_ADCON(base) = 0x80; // 0b10000000 // |
// `--------- BD = 1: use internal baudrate generator UART_PCON(base) = 0x00; // 0b00000000 // |
// `--------- SMOD = 0: Do not double baudrate baud_calc = (timing_get_clock_freq_hz() / (baudrate * 64 + baudrate / 2)); UART_SRELL(base) = (1024 - baud_calc) & 0xFF;
UART_SRELH(base) = ((1024 - baud_calc) >> 8) & 0xFF; UART_TCON(base) = 0x40; // Start timer run control }
void srl0_put_byte( unsigned int base, unsigned char val ) {
SET_UART_TI(base, 0); UART_SBUF(base) = val; }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库ARM9教程DSP教程FPGA教程CPLD教程12A软硬件设计0229(15)在线全文阅读。
相关推荐: