OpenEdv-开源电子网

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

想问一下大家这个实现这个数据收发功能需要改软件还是硬件

[复制链接]

31

主题

108

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2019-10-31
在线时间
155 小时
发表于 2020-8-2 17:40:38 | 显示全部楼层 |阅读模式
1金钱
目前的条件是F407+W25Q128+一个5寸左右的显示屏+4G模块(EC200S),然后有4个IO口接外部信号,只要输入一个高电平就记一次数,然后把这个数保存到Flash里并且通过MQTT上传次数到阿里云平台由于这个是在中断中处理的,上传数据需要时间,保存Flash也需要时间,这个输入信号大概2s一次才能够处理得过来,但是这是在没有加上屏幕显示的情况下
部分情况下这个输入信号是大概500ms一次,这样子肯定就处理不过来了
想问问大家,这种情况下是多加一块芯片,然后一块芯片单独来中断记录这个信号输入,然后直接通过串口发送给第二块芯片,第二块芯片通过队列方式对数据进行一条条处理,还是说有办法通过改进代码实现


最佳答案

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

软件方面做了极致优化,因为是通过外部中断来接收信号,有时候这个信号是200ms来一次,这时候就只能一直进入中断,而处理不了其他,目前我的设计方案是采用F103+F407
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

108

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2019-10-31
在线时间
155 小时
 楼主| 发表于 2020-8-2 17:40:39 | 显示全部楼层
软件方面做了极致优化,因为是通过外部中断来接收信号,有时候这个信号是200ms来一次,这时候就只能一直进入中断,而处理不了其他,目前我的设计方案是采用F103+F407
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-8-2 23:06:14 | 显示全部楼层
你这个输入信号是做啥处理?2s的处理时间,500ms就来一次数据,怎么玩?
回复

使用道具 举报

31

主题

108

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2019-10-31
在线时间
155 小时
 楼主| 发表于 2020-8-3 09:12:06 | 显示全部楼层
正点原子 发表于 2020-8-2 23:06
你这个输入信号是做啥处理?2s的处理时间,500ms就来一次数据,怎么玩?

就是简单的检测这个输入信号,有信号输入就计一次数,然后上传到阿里云平台,同时把这个数保存到Flash
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2020-8-3 13:49:16 | 显示全部楼层
你这个就算加了消息队列,运行一段时间之后,消息队列也得满啊
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2107
金钱
2107
注册时间
2017-2-11
在线时间
307 小时
发表于 2020-8-3 16:15:16 | 显示全部楼层
使用备份寄存器,不管时间来不来得及,只要中断来了,先把计数写入到备份寄存器里面,后面再把备份寄存器值读出来,写入到Flash和上传到服务器里面
回复

使用道具 举报

31

主题

108

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2019-10-31
在线时间
155 小时
 楼主| 发表于 2020-8-4 10:16:57 | 显示全部楼层
HCHDaLeiGe 发表于 2020-8-3 13:49
你这个就算加了消息队列,运行一段时间之后,消息队列也得满啊

现在改成消息队列,1秒还是反应得过来,但是低于1s就会一直处于中断之中,消息队列就跑不到
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 19:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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