Stm32学习

UART的DR寄存器
DR[8:0]:数据值 (Data value)
包含了发送或接收的数据。由于它是由两个寄存器组成的,一个给发送用(TDR),一个给接收
用(RDR),该寄存器兼具读和写的功能。TDR寄存器提供了内部总线和输出移位寄存器之间的
并行接口(参见图248)。RDR寄存器提供了输入移位寄存器和内部总线之间的并行接口。
当使能校验位(USART_CR1中PCE位被置位)进行发送时,写到MSB的值(根据数据的长度不
同,MSB是第7位或者第8位)会被后来的校验位该取代。
当使能校验位进行接收时,读到的MSB位是接收到的校验位
这是官方文件给的寄存器说明
在这里插入图片描述
通过图片理解
每次发送数据,首先将数道据传送给DR,紧接着传送给发送移位寄存器(并行串出);接收时数据首先进入接收移专位寄存器(串入并出),需要读取时,DR接收移位寄存器获得数据。
学习原因
学到了串口输出的时候重定向printf怎么去做其中就有对DR寄存器的直接操作
我们先判断串口是否的状态一般是UART的寄存器的ISR位的数据一为正在工作0为空闲,判断为零把数据存到DR寄存器就可以了
为什么重定义fputc因为我们在使用printf函数的时候其实他是调用的更加底层的fputc函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值