STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

这篇具有很好参考价值的文章主要介绍了STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

通信协议选择

上位机配置实现

下位机代码实现

通信效果演示

总结


前言

前面介绍了通过VOFA上传变量并显示成波形方便调试的方法,VOFA上传的是浮点,一个浮点需要4个byte才能够表示,这对本就不是很快的串口带来说有不小负担,而且对于定点的MCU上传数据就不友好了,VOFA上传数据的方法参考下面的链接:

STM32 VOFA+串口调试助手提升电机控制调试效率(下位机代码和上位机操作演示)_stm32的串口使用什么软件调试_卡洛斯伊的博客-CSDN博客

这里介绍一下匿名助手如何显示下位机的数据波形,以后的开发中可以根据实际情况和使用习惯选择合适的工具。 

通信协议选择

这里选择灵活格式帧模式,参考软件的协议介绍文档。

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

实际用的时候因对协议不熟悉,踩不了少坑,这里总结一下:

如下是一帧满足通信协议的数据:

帧头:0xAB 一个字节,固定的,改成其他会通信不成功,显示不了波形

源地址:一个字节,随便写,0x00也行,不影响波形显示

目标地址: 一个字节,随便写,不影响波形显示

功能码:一个字节,这里是0xF1,需要和上位机对应

数据长度:两个字节,低字节在前,如下表示传输的数据有6个

数据内容:如下6-11都是要传的数据长度,一共6个,用来表示3个int16_t的变量。具体看传输变量的数量来定

和校验和附加校验就是通过传输的内容进行计算得到的两个字节的校验

 计算方法如下:

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

上位机配置实现

这里配置显示三相电流,分别用int16_t 来表示,如上面的协议说明,配置只需要添加数据即可。

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

 配置好0xF1的数据后,再点小扳手,找到0xF1#0:IA-IC,再点确认就可以正常显示波形了。STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

 如果没有波形,再点一下右下角的运行按钮

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

下位机代码实现

 简单定义一个数组,参考通信协议,再定义一个发送函数

static uint8_t tempData[14] = {0xAB,0xFE,0x05,0xF1,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void UART_Debug(void);

把要传输的数据放到指定位置,简单粗暴,在周期任务里面或者中断里面调用发送函数即可。

void UART_Debug(void)
{
          uint16_t flen = tempData_NM[4]+tempData_NM[5]*256;
          uint8_t sumcheck=0;
          uint8_t addcheck=0;
          
         tempData_NM[6] =((int16_t)((Ia_A)*100)&0xFF);
         tempData_NM[7] =((int16_t)((Ia_A)*100)>>8);
         tempData_NM[8] =((int16_t)((Hall_Angle)*100)&0xFF);
         tempData_NM[9] = ((int16_t)((Hall_Angle)*100)>>8);
         tempData_NM[10] =((int16_t)((Hall_Speed)*10)&0xFF);
         tempData_NM[11] =((int16_t)((Hall_Speed)*10)>>8);
        
         for(uint16_t i=0;i<(flen+6);i++)
          {
            sumcheck+=tempData_NM[i];
            addcheck+=sumcheck;
           
          }
          tempData_NM[12]=(uint8_t)sumcheck;
          tempData_NM[13]=(uint8_t)addcheck;

          
					HAL_UART_Transmit_DMA( &huart2, (uint8_t *)tempData_NM, 14);
         
}

通信效果演示

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

匿名助手显示电流波形

总结

VOFA和匿名助手各有优劣,都能支持较高的波特率,这里没有进行详细对比,但对于工程应用来说,只要满足应用需要即可。在此感谢VOFA和匿名的作者分享这些工具,极大提高工程师的开发效率。文章来源地址https://www.toymoban.com/news/detail-437917.html

到了这里,关于STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32用XCOM调试助手打印不出数据

    被困扰了一段时间的串口终于解决了,用 STM332F103ZET6 写串口,但是不懂为什么打开串口调试助手就是打印不出数据 首先检查了代码有没有错,因为是按照网上的代码写的(copy),改了一点,应该没错 于是就看了 波特率,停止位,数据位,奇偶校验位 什么的有没有错,一一

    2024年02月06日
    浏览(44)
  • STM32控制直流电机转向

    一、所需硬件模块 1.主控芯片:STM32F103C8T6 2.程序下载器:STLINK 3.电机:直流电机 4.电机驱动模块:L298N 二、模块介绍 1、主控芯片采用的是STM32系列的最小系统板,通过控制其引脚的输出进而实现对电机的控制; 2、STLINK下载器是用于烧录程序,其中的SWCLK、SWDLO、GND、3.3V引脚

    2024年02月07日
    浏览(37)
  • STM32控制42步进电机

    首先采用TB6600驱动外接12VDC电源。 STM32选c8t6最小系统板 接线TB6600跟32接线有共阴级接法(把ENA-,DIR-,PUL-与32共地)也有共阳接法(把ENA+,DIR+,PUL+与32共地)。这里选共阴级接法。 判断42步进电机的4根线哪两根是A相(A-和A+),哪两根是B相(B-和B+),方法:将任意两根线短接起来

    2024年02月16日
    浏览(74)
  • 搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

    任务是基于stm32f405芯片进行展开,应用的软件是keil5和STM32CubeMx,这两个软件环境目前是已经安装好了,现在就可以开始展开工作了,这系列博客零散的记录任务完成的过程,作为一个笔记方便后续回顾。 任务(一):用CubeMx控制一个引脚的高低电平 第一步: 在CubeMx中导入

    2024年02月06日
    浏览(50)
  • STM32 HAL库PID控制电机 第三章 PID控制双电机

    注:本文含全部PID控制代码,保证可以运行,如不能运行可以留言回复 1 基础配置 1.1 编码器电路图及配置 引脚 定时器通道 PA0 TIM2_CH1 PA1 TIM2_CH2 PB6 TIM4_CH1 PB7 TIM4_CH2 因此需要把TIM2、TIM4配置为编码器模式。在STM32CubeIDE中找到定时器2与定时器4,进行模式配置。以下以定时器2为

    2024年02月16日
    浏览(37)
  • 搭建stm32电机控制代码框架(一)

    任务是基于stm32f405芯片进行展开,应用的软件是keil5和STM32CubeMx,这两个软件环境目前是已经安装好了,现在就可以开始展开工作了,这系列博客零散的记录任务完成的过程,作为一个笔记方便后续回顾。 任务(一):用CubeMx控制一个引脚的高低电平 第一步: 在CubeMx中导入

    2024年02月06日
    浏览(56)
  • STM32PWM控制直流电机

    PWM介绍 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用 微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽 度的控制 PWM的原理: 假定定时器工作在向上计数 PWM 模式,且当 CNT=CCRx 时输出 1。那么就可以

    2024年02月08日
    浏览(49)
  • STM32数据可视化显示——纸飞机串口调试助手的使用

    本人在开发STM32的过程中,数据都是通过XCOM串口调试助手进行展示的,但这样的话,数据就做不到图像化、多样化处理的显示,使得一些连续的数据无法通过图像来直观表达 感兴趣的朋友可以点进链接进行下载哦 http://blog.comassistant.cn/ 上图所示,为纸飞机调试助手的界面,可

    2023年04月12日
    浏览(53)
  • 【电机控制】小白从零开始:STM32双闭环(速度环、位置环)电机控制(软件篇)

    小白从零开始:STM32双闭环(速度环、位置环)电机控制(软件篇) 小白从零开始:STM32双闭环(速度环、位置环)电机控制(硬件篇) 小白从零开始:STM32双闭环(速度环、位置环)电机控制(软件篇) 杭州研究生手把手教你搞不定STM32 使用工具: 1.语言:C语言 2.代码编译

    2024年02月12日
    浏览(37)
  • 【电机控制】小白从零开始:STM32双闭环(速度环、位置环)电机控制(硬件篇)

    小白从零开始:STM32平铺式双闭环(速度环、位置环)电机控制(硬件篇) 小白从零开始:STM32双闭环(速度环、位置环)电机控制(软件篇) 小白从零开始:小程序阿里云平台控制stm32(硬件篇) 杭州研究生手把手教你搞不定STM32 使用工具: 1.PCB设计: 立创EDA+嘉立创 2.硬件

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包