正点原子例程里的一个疑问

2019-08-17 00:23发布

5455.png 如图划红线的为正点原子的例程,功能是发送接收到的数据。我有个疑问,既然temp是u8定义的即一个字节的长度,那么当单片机收到超过一个字节的数据时,数据是怎么 存到temp里的呢,不会溢出吗?当然,通过发送多位的数据我发现函
数的功能很正常,但是不知道为什么会这样,查了一下开发指南也没有对数据寄存器DR进
行详细的描述,特前来论坛提出自己的问题,望各位能否帮忙解答一下?





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
来俩不甜的
1楼-- · 2019-08-18 05:53
cpu处理数据的速度比你串口发送数据的速度快的多。在你第二个字节发送的时候,第一个字节已经处理完了,此时数据寄存器其实已经是空的了
liuliuliu
2楼-- · 2019-08-18 08:09
这应该不难理解吧!接收一次进一次中断,直到接收完成
453947330
3楼-- · 2019-08-18 10:31
 精彩回答 2  元偷偷看……
453947330
4楼-- · 2019-08-18 14:17
liuliuliu 发表于 2017-7-14 17:07
这应该不难理解吧!接收一次进一次中断,直到接收完成

恩恩懂啦
梦在远方
5楼-- · 2019-08-18 17:40
453947330 发表于 2017-7-14 16:55
我是看视频跟着他一步步写出来的,没见他写啥数组。难道他的例程和视频里的程序不一样吗?你说的例程是“ ...

对,是实验四,在usart那个文件里有一个中断函数,里面定义了个数组专门用来存放接收到的字节,我用红 {MOD}箭头给你标出来了。C:UsersAdministratorDesktop
梦在远方
6楼-- · 2019-08-18 20:40
梦在远方 发表于 2017-7-14 20:12
对,是实验四,在usart那个文件里有一个中断函数,里面定义了个数组专门用来存放接收到的字节,我用红 {MOD} ...

没法给你发图片,在右侧有个SYSTEM的分组,里面有一个usart的C文件,里面有个串口中断函数

一周热门 更多>