多通道串口采存系统如何运用生产者消费者构架

2019-07-17 10:35发布

做了一个温度采存系统,就是从串口读取传感器发送来的数据处理后波形图表显示并存储到TXT文档。目前已经做了六个通道的,六路并行采集、处理、显示、存储,测试了几天没有问题。但是现在老师说要做48路,也就是要同时采集48个通道的数据并同时显示存储,这个理论上把目前的六路继续复制扩充就行了,就是怕同时运行几十路电脑吃不消。老师让我用生产者消费者循环,我对这个了解不多,目前在学,但是不知道用生产者消费者循环带来的好处是什么?什么做生产者循环,数据采集和处理吗?什么做消费者,显示和存储吗?可是感觉这样的好处也只是节省了时间,可是我采集温度这样的大惯性量又不需要很高的频率,我需要的是节省资源让电脑能同时采集48路。有些不解,请知道的指点指点,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
z7686641
1楼-- · 2019-07-19 02:17
楼主可以分享下你的六路程序吗
hejin515
2楼-- · 2019-07-19 02:21
z7686641 发表于 2016-1-15 15:27
楼主可以分享下你的六路程序吗

我有个帖子分享了。你好像已经看到了
hejin515
3楼-- · 2019-07-19 02:31
本帖最后由 hejin515 于 2016-1-16 12:16 编辑
z7686641 发表于 2016-1-15 15:27
楼主可以分享下你的六路程序吗

说明一下,我用的是网上买DS18B20温度传感器模块,上电后通过串口不停发送格式为“0xaa 0xxx 0xxx 0xxx 0xxx 0xff ”的数据,波特率为115200
第一位:0xaa为帧头  表示串口的起始数据
第二位:表示温度的符号位  如果第二位为0x00 则表示负温度 ,如果为0x01则表示正温度
第三位:温度的数据位高位
第四位:温度的数据位低位(温度的计算方式为temp:(高位*256+低位)*0.01)  单位为摄氏度
第五位:校验位    为温度符号位+高位字节+低位字节   
例如:AA 01 0B 02 0E FF  其0E=01+0B+02
第六位:串口通信停止位0xff。
看你用的传感器的数据格式吧,合适的修改应该可以用。
z7686641
4楼-- · 2019-07-19 05:52
 精彩回答 2  元偷偷看……
elle77
5楼-- · 2019-07-19 06:12
我也准备采用生产者/消费者模式来需要采集40路的信号,多谢楼主分享
lqh921
6楼-- · 2019-07-19 11:59
220V交流 电源线标准

一周热门 更多>