OpenEdv-开源电子网

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

串口的收发不是很明白

[复制链接]

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-23
在线时间
0 小时
发表于 2014-11-26 00:10:29 | 显示全部楼层 |阅读模式
5金钱
以下这段程序是原子哥用固件库写的,这段程序主要是串口收的中断服务函数,以前是学软的,对寄存器不是太了解。下面这段程序不是太懂。
看到注释上面写着  //接收中断(接收到的数据必须是0x0d 0x0a结尾),那么为什么我把下面黑线圈起来的部分注释掉串口就没用了,和黑线框里面的程序有什么关系?
还有收到的数据放到哪里怎么显示的,怎么在代码里面没有看到,小白求解

最佳答案

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

这是原子自己规定的协议  就是接到回车换行   认为接收结束  否则没有结束 回车换行   16进制就是  0x0d  0x0a
个性签名
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2014-11-26 00:10:30 | 显示全部楼层
这是原子自己规定的协议 

就是接到回车换行  

认为接收结束  否则没有结束

回车换行   16进制就是  0x0d  0x0a
学无止境
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2014-11-26 00:55:22 | 显示全部楼层
黑圈部分是作为没有收到0x0d的处理(继续接收,直到接收到0x0d)
收到的数据原子哥处存到这里的:u8 USART_RX_BUF[USART_REC_LEN];
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11560
金钱
11560
注册时间
2014-4-1
在线时间
1318 小时
发表于 2014-11-26 00:58:47 | 显示全部楼层
接收到的数据必须是0x0d 0x0a结尾,

这应当是例程规定的通信协议,黑圈就是针对这个协议的中间处理过程,关掉自然会出问题。

但是,并非一定要使用相同的协议。
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-26 13:55:19 | 显示全部楼层
这个原子哥自定的通信协议,你完全可以自己另外定通信协议,不是一定要使用原子哥的协议,根据你的应用来处理
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 13:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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