OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4922|回复: 1

请教一下关于串口例程中usart1_irqhandler(void)函数的问题

[复制链接]

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
发表于 2017-4-7 10:07:17 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 18323054303 于 2017-4-7 10:13 编辑

就是,例程上,每接收一次数据,USART_RX_STA执行的操作是++。我的理解是,15位数据接收完了,USART_RX_STA的值也只是0x000f而已啊,低4位都填不满。。。我知道USART_RX_STA是模拟寄存器,每一个位存8位数据,但是在定义的时候他只是一个u16,并不会8位一次的移动啊,不知道正确的理解是怎样的

最佳答案

查看完整内容[请看2#楼]

USART_RX_STA不是个寄存器是个16位的变量(15-0); 15标识(0X0d 0X0a)是否接收完成,14标识(0X0d)是否接收完成,13-0表示接收了多少个数据。 这个看着很想寄存器的定义,其实不是。只是一种变量按照寄存器使用的思想。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-7 10:07:18 | 显示全部楼层
USART_RX_STA不是个寄存器是个16位的变量(15-0);
15标识(0X0d 0X0a)是否接收完成,14标识(0X0d)是否接收完成,13-0表示接收了多少个数据。
这个看着很想寄存器的定义,其实不是。只是一种变量按照寄存器使用的思想。
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 05:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表