OpenEdv-开源电子网

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

MFC 串口接受数据并显示

[复制链接]

40

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-8-7
在线时间
10 小时
发表于 2015-5-12 20:58:18 | 显示全部楼层 |阅读模式
5金钱
用MFC写了一个小程序,用的是Microsoft Communications Control(也就是小电话控件)接受串口数据、显示及保存到txt,当单片机1s发一次的时候,连续运行8个小时无任何问题,但是当单片机1s发十次的时候,运行5分种就卡死了,保存的txt也为空,据说可能是电话控件的问题,不知道各位大神觉得呢?

最佳答案

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

1s发10次数据频率也不高,按理是不会死机的。 这种频繁读写文件的问题要注意冗余设计。 可以按照这种思路。 根据你的1s数据量的大小设置至少2个数据结构用于记录串口数据,我们假定为struct1和struct2; 当struct1记录满时转到struct2,同时将struct1的数据写到文件保存; 当struct2满时转到struct1,同时保存struct2到文件; 写入txt文件要记得使用互斥量或其他手段保护,不要发生上一次还没有写入完成有再次写入的事情; 写txt文 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2014-12-29
在线时间
36 小时
发表于 2015-5-12 20:58:19 | 显示全部楼层
1s发10次数据频率也不高,按理是不会死机的。
这种频繁读写文件的问题要注意冗余设计。
可以按照这种思路。
根据你的1s数据量的大小设置至少2个数据结构用于记录串口数据,我们假定为struct1和struct2;
当struct1记录满时转到struct2,同时将struct1的数据写到文件保存;
当struct2满时转到struct1,同时保存struct2到文件;
写入txt文件要记得使用互斥量或其他手段保护,不要发生上一次还没有写入完成有再次写入的事情;
写txt文件尽量使用追加文件到末尾的方法,txt文件不宜写得过大。
也可以给写txt文件的工作单独开一个线程,但存储冗余和互斥保护是必须的。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-5-12 22:10:50 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2014-4-29
在线时间
0 小时
发表于 2015-5-13 20:15:05 | 显示全部楼层
串口要及时清空吧,读取完清空
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-6-30 21:52:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-23 18:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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