OpenEdv-开源电子网

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

串口接收数据到一定程度就会停止接收,是容量的原因吗?

[复制链接]

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
发表于 2016-7-7 10:03:24 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11546
金钱
11546
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-7-7 10:03:25 | 显示全部楼层
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 14:24:16 | 显示全部楼层
xuande 发表于 2016-7-7 10:17
程序有问题吧。

程序有问题就不会收到数据了吧,应该是没啥问题
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 14:32:04 | 显示全部楼层
xuande 发表于 2016-7-7 10:17
程序有问题吧。

方便帮我看一下吗?拜托了  QQ857535639
回复

使用道具 举报

119

主题

439

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1185
金钱
1185
注册时间
2015-9-18
在线时间
422 小时
发表于 2016-7-7 14:32:48 | 显示全部楼层
也有可能是上位机的问题
上位机开辟的内存太小,而你每次发送的数据又相对较大,也有这种可能性
电子爱好者
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 14:45:04 | 显示全部楼层
liuchang 发表于 2016-7-7 14:32
也有可能是上位机的问题
上位机开辟的内存太小,而你每次发送的数据又相对较大,也有这种可能性

我把发送的数据缩短了还是会停止  我感觉也是程序的问题,方便帮我看一下吗
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 14:47:41 | 显示全部楼层
自己写的中断函数,请帮忙检查一下是不是代码的错,谢谢好心人
11.png
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-7-7 14:49:28 | 显示全部楼层
如果有这个问题的话,那个IAP更新几十K,几百K的数据怎么更新
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-7-7 14:52:12 | 显示全部楼层
本帖最后由 憨厚诚实大叔 于 2016-7-7 14:54 编辑

在中断发数据等待发送完成,你把发送数据弄到中断外面。你不知道你等待这个数据发送完成的时间和下一个数据发送过来是事件是大致一样的么。
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 15:09:44 | 显示全部楼层
憨厚诚实大叔 发表于 2016-7-7 14:52
在中断发数据等待发送完成,你把发送数据弄到中断外面。你不知道你等待这个数据发送完成的时间和下一个数 ...

你的意思是接收数据和发送数据时间上有冲突时吗?   那我在接收中断里先把接收中断失能 然后在发送你发送完毕后再使能 结果还是一样的....
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-7-7 15:15:05 | 显示全部楼层
你在中断里面拿数据,改变某个标记。然后在外面判断标记发送数据。你都没开TX中断,清不清这个中断都一样。另外你程序拿数据拿了2次了
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 15:27:52 | 显示全部楼层
您的意思是让我设置一个标志位,在主函数里判断标志位进行发数据呗,这两者好像没有很大的区别吧。在中断里也可以发数据吧,我在发数据前写了失能中断为了不让两者有冲突,在发送完成之后再使能接收中断,这样的逻辑有错误吗?
回复

使用道具 举报

8

主题

25

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-4-15
在线时间
11 小时
 楼主| 发表于 2016-7-7 16:12:41 | 显示全部楼层
通过查询资料解决了这个为题,为了回馈各位网友对我的热心应答我把这个问题的讲解分享出来,希望更多的朋友受益! 串口标志位的解析.png
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 05:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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