MFC实时采集温度并显示

panxiaoying1215 2014-12-23 04:57:57
MFC采用MScomm控件实现温度显示,有八个电池需要采集温度,在上位机软件上温度显示在八个编辑框中,请各位大侠指点一下,刚接触MFC,不太懂,十分感谢!
...全文
1341 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_36825645 2016-11-26
  • 打赏
  • 举报
回复
楼主 可以加qq吗 我也想做一个温度采集界面
panxiaoying1215 2015-01-04
  • 打赏
  • 举报
回复
引用 15 楼 wxhxj0268 的回复:
[quote=引用 13 楼 panxiaoying1215 的回复:] [quote=引用 12 楼 wxhxj0268 的回复:] [quote=引用 9 楼 panxiaoying1215 的回复:] 我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
只显示值可将收到的数据换算成温度后直接在控件中显示,但要绘图你就必须保存所有的数据以便刷新,绘图时为了换算坐标方便都将温度值放大为整数。[/quote] 非常感谢你大神,我大体知道思路了,绘图是用图片控件画还是用程序画哪个比较容易点?[/quote] 我就用CDC类自己程序画的[/quote] 大神,我现在画图遇到了问题,我定义了一个CDC类对象,画8条曲线我又定义了8个点,每接收到一个数据就画一下,在画其中一条曲线时,其余的线也跟着动,我感觉其他的线不应该动才对,否则就不是几条连续的线了
panxiaoying1215 2014-12-29
  • 打赏
  • 举报
回复
已经搞定结贴
gz_qmc 2014-12-28
  • 打赏
  • 举报
回复
都已经是应用的问题了 花点钱就解决的事情, 非你妹想捡便宜,真是奇葩中国人
panxiaoying1215 2014-12-27
  • 打赏
  • 举报
回复
引用 15 楼 wxhxj0268 的回复:
[quote=引用 13 楼 panxiaoying1215 的回复:] [quote=引用 12 楼 wxhxj0268 的回复:] [quote=引用 9 楼 panxiaoying1215 的回复:] 我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
只显示值可将收到的数据换算成温度后直接在控件中显示,但要绘图你就必须保存所有的数据以便刷新,绘图时为了换算坐标方便都将温度值放大为整数。[/quote] 非常感谢你大神,我大体知道思路了,绘图是用图片控件画还是用程序画哪个比较容易点?[/quote] 我就用CDC类自己程序画的[/quote] 请教大神,我用的CDC类画图,怎么画多条曲线,我现在会画一条曲线了,当接收到不同通道的温度就会在一条曲线上显示,不知道怎么画多条曲线
line_us 2014-12-27
  • 打赏
  • 举报
回复
应该不是太大问题的项目
panxiaoying1215 2014-12-25
  • 打赏
  • 举报
回复
引用 15 楼 wxhxj0268 的回复:
[quote=引用 13 楼 panxiaoying1215 的回复:] [quote=引用 12 楼 wxhxj0268 的回复:] [quote=引用 9 楼 panxiaoying1215 的回复:] 我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
只显示值可将收到的数据换算成温度后直接在控件中显示,但要绘图你就必须保存所有的数据以便刷新,绘图时为了换算坐标方便都将温度值放大为整数。[/quote] 非常感谢你大神,我大体知道思路了,绘图是用图片控件画还是用程序画哪个比较容易点?[/quote] 我就用CDC类自己程序画的[/quote] 谢了大神,有什么不明白的再向您讨教,圣诞节快乐!
笨笨仔 2014-12-25
  • 打赏
  • 举报
回复
引用 13 楼 panxiaoying1215 的回复:
[quote=引用 12 楼 wxhxj0268 的回复:] [quote=引用 9 楼 panxiaoying1215 的回复:] 我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
只显示值可将收到的数据换算成温度后直接在控件中显示,但要绘图你就必须保存所有的数据以便刷新,绘图时为了换算坐标方便都将温度值放大为整数。[/quote] 非常感谢你大神,我大体知道思路了,绘图是用图片控件画还是用程序画哪个比较容易点?[/quote] 我就用CDC类自己程序画的
sichuanwww 2014-12-25
  • 打赏
  • 举报
回复
panxiaoying1215 2014-12-25
  • 打赏
  • 举报
回复
引用 12 楼 wxhxj0268 的回复:
[quote=引用 9 楼 panxiaoying1215 的回复:] 我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
只显示值可将收到的数据换算成温度后直接在控件中显示,但要绘图你就必须保存所有的数据以便刷新,绘图时为了换算坐标方便都将温度值放大为整数。[/quote] 非常感谢你大神,我大体知道思路了,绘图是用图片控件画还是用程序画哪个比较容易点?
panxiaoying1215 2014-12-24
  • 打赏
  • 举报
回复
引用 6 楼 wxhxj0268 的回复:
[quote=引用 5 楼 panxiaoying1215 的回复:] 牛人,我能加你QQ吗,我做的应该更简单一些,我想向您请教!
以为你需要的只是界面参考。程序无非就是通信、数据处理、显示处理、打印处理、数据文件处理、日志处理几个模块,有问题可以在帖中提出。[/quote] 我想做个界面可以通信,显示八个温度,在曲线上实时显示八条温度线,然后保存数据,就这么多,我现在只会做串口接收数据,不会让八个温度显示在不同的接收框中,曲线的显示更不会了
笨笨仔 2014-12-24
  • 打赏
  • 举报
回复
引用 9 楼 panxiaoying1215 的回复:
我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
只显示值可将收到的数据换算成温度后直接在控件中显示,但要绘图你就必须保存所有的数据以便刷新,绘图时为了换算坐标方便都将温度值放大为整数。
笨笨仔 2014-12-24
  • 打赏
  • 举报
回复
引用 5 楼 panxiaoying1215 的回复:
牛人,我能加你QQ吗,我做的应该更简单一些,我想向您请教!
以为你需要的只是界面参考。程序无非就是通信、数据处理、显示处理、打印处理、数据文件处理、日志处理几个模块,有问题可以在帖中提出。
panxiaoying1215 2014-12-24
  • 打赏
  • 举报
回复
引用 3 楼 wxhxj0268 的回复:
曾经做过一个16路的,界面局部供参考,分同窗口显示和分窗口显示
牛人,我能加你QQ吗,我做的应该更简单一些,我想向您请教!
panxiaoying1215 2014-12-24
  • 打赏
  • 举报
回复
引用 2 楼 VisualEleven 的回复:
多线程,线程中采集得到温度数据,然后PostMessage/SendMessage发送消息到UI线程中,在UI线程中去更新编辑框控件上的信息。
有没有源程序,我不太懂线程,MFC倒是知道了,希望各位高手指点!
panxiaoying1215 2014-12-24
  • 打赏
  • 举报
回复
引用 10 楼 HN_gsf 的回复:
其实如果你的素的更新速度不十分快的话,就是说一秒更新一次的话,一个线程足够用了,在接受程序中通过辨别那个温度过来了,然后分别显示,就ok
我需要一次接收8个温度,分别显示在8个编辑框中,应该怎么做呢,我用的MSComm控件?
HN_gsf 2014-12-24
  • 打赏
  • 举报
回复
其实如果你的素的更新速度不十分快的话,就是说一秒更新一次的话,一个线程足够用了,在接受程序中通过辨别那个温度过来了,然后分别显示,就ok
panxiaoying1215 2014-12-24
  • 打赏
  • 举报
回复
引用 8 楼 wxhxj0268 的回复:
这程序本来就是一个模块的集合,通信模块:不管你串口通信还是以太网通信都可以(可以更换),这是一个独立线程,它与主程序的通信管理类以消息方式交换数据,我用的是以太网。显示模块:所谓多条曲线也是程序中一段一段画出来的,我的程序中以时间为节点,将同一个时间点得到的数据,与上一个时间点得到的数据用直线连接起来。打印与显示其实就是设备对象不同。数据文件是指在收到一个时间点的温度后,按时间点将值保存到文件中,文件结构可自行定义。至于数据处理部分的关键就是算法,你需要将收到的温度值,与屏幕上的坐标位置用算式联系起来,收到数据后直接将值换算成坐标。主要部分就是这样,我这个程序就是在学习MFC时做的,程序写法存在许多问题,但思路我认为是对的。
我还想问一个接受数据并显示数据的问题,当采用自己定义的协议进行上位机和下位机通信时,上位机接受到一串字符,其中表示温度的字符包含在这串字符中,只需要把温度值转换成浮点型还是全部转换后将温度值取出?在不同编辑框中显示不同通道的温度,给编辑框定义不同的变量,将对应温度通过相应变量放入编辑框中,您看我的思路可行吗?
笨笨仔 2014-12-24
  • 打赏
  • 举报
回复
这程序本来就是一个模块的集合,通信模块:不管你串口通信还是以太网通信都可以(可以更换),这是一个独立线程,它与主程序的通信管理类以消息方式交换数据,我用的是以太网。显示模块:所谓多条曲线也是程序中一段一段画出来的,我的程序中以时间为节点,将同一个时间点得到的数据,与上一个时间点得到的数据用直线连接起来。打印与显示其实就是设备对象不同。数据文件是指在收到一个时间点的温度后,按时间点将值保存到文件中,文件结构可自行定义。至于数据处理部分的关键就是算法,你需要将收到的温度值,与屏幕上的坐标位置用算式联系起来,收到数据后直接将值换算成坐标。主要部分就是这样,我这个程序就是在学习MFC时做的,程序写法存在许多问题,但思路我认为是对的。
笨笨仔 2014-12-23
  • 打赏
  • 举报
回复
曾经做过一个16路的,界面局部供参考,分同窗口显示和分窗口显示

加载更多回复(2)

15,474

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧