打印
[单片机芯片]

CH32V103 USART_STATR寄存器中TXE与TC的理解

[复制链接]
944|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
对于USART的状态寄存器STATR,有两个位TXE和TC:

读一下这两个位的说明,感觉他俩的功能很像。又翻开手册:

TXE:当数据从TDR传递给TSR完毕后,TXE置位,表示TDR已经空了。
TC:当数据从TSR传递给TX引脚完毕后,TC置位,表示TSR中的数据已全部发送出去了。

不知上述理解是否正确?恳请指正。

使用特权

评论回复
沙发
WCHTech2| | 2022-3-23 17:07 | 只看该作者
您好,理解没问题的

使用特权

评论回复
板凳
wgtwgtwgt|  楼主 | 2022-3-23 17:31 | 只看该作者
WCHTech2 发表于 2022-3-23 17:07
您好,理解没问题的

谢谢。
您能帮我看看这个USART2_DATAR寄存器的值为何在debug时一直为零吗:

进入debug模式后,如上图所示,现在已经走到图中所示的行了,此时传递给局部变量data的值是105,即字符'i'。接着我点击一次单步运行,想看看DATAR寄存器的值到底是不是105,但是从上图左下角的窗口看到DATAR寄存器的值总是为0x0,这是为何呢?我的理解是DATAR寄存器的值此时应该为105,不知错在哪里了

使用特权

评论回复
评论
wgtwgtwgt 2022-3-24 15:43 回复TA
@WCHTech2 :谢谢您的回复! 
WCHTech2 2022-3-24 10:33 回复TA
您好,写该寄存器TX向外发数据,读该寄存器是Rx收到的数据,现在调试都是在读该寄存器,发送时不会有数据,当你接收数据时读该寄存器就有值的变化了。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

191

帖子

3

粉丝