找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 909|回复: 0
打印 上一主题 下一主题
收起左侧

基于STM32以及CUBEMX的项目分享(二)

[复制链接]
跳转到指定楼层
楼主
ID:958636 发表于 2023-8-17 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   本来这期打算给大家分享PID怎么用的,但是我想到一个问题,我们说PID小车的效果怎么样,咱们不能仅仅通眼睛去看吧,因此我们需要一个上位机,这里我推荐一个上位机叫做VOFA+,我看很少有人去讲这个上位机,那今天我来讲讲吧,我也在这个论坛学习了很长时间了,现在也给这个论坛做点贡献,那么我宣布本期的分享内容就是基于STM32以及CUBEMX的VOFA+上位机曲线绘制教学,下面我们开始吧。
第一步、我们要有上位机:

在此我附上这个上位机官网的链接:百度vofa,去官网下载就可以了,当然我也会在文末给出一个安装包。

第二步、我们要配置这个上位机软件  按照串口配置进行参照就可以了,我们选用的是JUSTFLOAT这个协议,但是很多人更喜欢其他的协议,因为其他的协议不需要写特定的代码比较方便,但是JUSTFLOAT这个协议适合高频的数据发送。

第三步、相关通信协议
//这个就是将浮点数转换成4个字节的代码,具体怎么实现大家还自行研究,我也没深刻研究。
  1. /**************************************************************************
  2. *功  能: 将浮点数转换成四个单字节数值
  3. *输  入: f:浮点数 byte储存空间(4个字节)
  4. *返回值: none
  5. **************************************************************************/
  6. //VOFA通讯协议
  7. void Float_to_Byte(float f,uint8_t byte[])   //参考[url]https://blog.csdn.net/ls667/article/details/50811519[/url]博客
  8. {
  9. FloatLongType fl;
  10. fl.fdata=f;
  11. byte[0]=(unsigned char)fl.ldata;
  12. byte[1]=(unsigned char)(fl.ldata>>8);
  13. byte[2]=(unsigned char)(fl.ldata>>16);
  14. byte[3]=(unsigned char)(fl.ldata>>24);
  15. }
复制代码
  1. typedef union   //定义结构
  2. {
  3. float fdata;
  4. unsigned long ldata;
  5. }FloatLongType;
复制代码
第四步、单片机通信协议
以下是这个协议的规则,我们需要严格执行。
因此我们定义一个数组进行存放帧尾
  1. uint8_t Send_tail[4]={0x00, 0x00, 0x80, 0x7f};//帧尾
复制代码

  • JustrFloat以小端的0x7f80000,也就是{ 0x00, 0x00, 0x80, 0x7f }作为帧结束标志,所以遇到{ 0x00, 0x00, 0x80, 0x7f }才会开启一帧的解析,判断它是采样数据帧、图片前导帧还是其他数据;没有开启数据解析,就不会打印文本;
  • 图片前导帧加上后续图片数据,被并称为图片数据包,图片数据会缩略打印;
  • 点击字节接收区设置按钮,可以设置是否单独隐藏样数据帧、图片数据包,也可以设置隐藏包括其他数据在内的所有数据;
  • 字节接收区请勾选十六进制,以十六进制方式打印字符,否则只能打印乱码;
  • 如果你发送的数据一直没有{ 0x00, 0x00, 0x80, 0x7f },那么JustFloat无法解析消耗缓冲区内的数据,会造成缓冲区爆满,软件卡死;
那么我们绘制曲线的方法是什么思路呢?
--->data1 data2 .... datan 帧尾 data1 data2 .... datan 帧尾 data1 data2 .... datan 帧尾 data1 data2 .... datan 帧尾这样即可
下面附上我的代码: PID_Test.7z (5.18 MB, 下载次数: 8)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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