⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at91_usart.c

📁 基于ARM7微控制器AT91X40开发板的定时器程序
💻 C
字号:
/*    * at91_usart.c *  * author: Kexin (kexin28@126.com) Tel:+8613714451195 * date:   2007-11-27	 */#include "at91_usart.h"static volatile struct at91_usarts *usarts[AT91_USART_CNT] = {	(volatile struct at91_usarts *) AT91_USART0_BASE,	(volatile struct at91_usarts *) AT91_USART1_BASE};/*static unsigned long calc_CD(unsigned long baudrate){	return (UART_CLOCK / baudrate);}*/static void usart_init(volatile struct at91_usarts *uart){	/* Reset the USART */	uart->cr = US_TXDIS | US_RXDIS | US_RSTTX | US_RSTRX;	uart->rcr = 0;	uart->tcr = 0;	/* Set the serial port into a safe sane state */	uart->mr = US_USMODE(0) | US_USCLKS(0) | US_CHRL(3) | US_NBSTOP(0) | US_PAR(5) | US_SYNC(0) | US_CLKO | US_CHMODE(0);	uart->brgr = 213;//calc_CD(9600);//baudrate=MCK/(16*brgr) (mr over=0) OR baudrate=MCK/(8*brgr) (mr over=1)	uart->rtor = 20;			     // timeout = value * 4 *bit period	uart->ttgr = 0;				     // no guard time	uart->rcr = 0;	uart->rpr = 0;	uart->tcr = 0;	uart->tpr = 0;}void at91_init_usart(void){	usart_init(usarts[0]);}static void usart_printf(volatile struct at91_usarts *uart, char p){	uart->thr = p;}int printf(char *p){	if(*p=='\0') return -1;	while(*p!='\0')		usart_printf(usarts[0],*p++);	return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -