ARM9 mini2451裸机学习——UART驱动学习和整理


1、设置数据位宽。

找到GPHCON地址


设置GPH0,GPH1为特殊功能引脚RXD,TXD

找到ULCON0地址


设置串口的数据模式,8N1模式。即数据宽度8,停止位1。无奇偶校验。

2、设置停止位
找到UCON0地址

设置UART时钟为PCLK,禁止中断,使能发送,接收


3、校验位

4、模式配置
找到UFCON0
W
使能FIFO



无流控

5、波特率配置


void uart_init(void)
{
	/设置GPH0和GPH1为特殊功能引脚RXD,TXD
	GPHCON = 0Xa;
	//设置串口数据模式,8N1模式
	ULCON0 = 0X03;
	//设置uart时钟为PCLK,禁止中断,使能发送,接收
	UCON0 = 0X05;
	//使能FIFO
	UFCON0 = 0X01;
	//无流控
	UMCON0 = 0X0;
	//波特率115200
	UBRDIV0 = 0X23;
	UDIVSLOT0 = 0X111;
}

void putchar(unsigned char c)
{
	while(UFSTAT0 & (1 << 14));//若TX FIFO满,则等待
	UTXH0 = c;
}

unsigned char getchar(void)
{
	while((UFSTAT0 & 0X7F) == 0);//若RX FIFO空,则等待
	return URXH0;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值