python发送结构体数据,STM32F103RCT6收结构体数据,并提取结构体中的信息并执行对应函数

各位朋友,我现在是python发送结构体数据,STM32F103RCT6收结构体数据,并提取结构体中的信息并执行对应函数。

需求描述:

1.python通过USART串口发送要执行的命令,包含函数及参数,比如:DC_Motor_move(speed)、Step_Motor_move(angle),speed及angle均是可变参数,比如80、100、147等任何数据。

2.STM32接收这个结构体,根据收到的结构体的信息去执行对应的写好的函数DC_Motor_move(speed)、Step_Motor_move(angle)。

烦请哪位大佬提供一个类似的例程

补充:库函数版本

明天,有个类似的例程就可以

就是计算机这边发送数据,STM32那边根据数据执行不同函数对吧

是的,因为我上位机有许多功能需要STM32去执行,因此每条传输的信息包含了类似(函数名、参数1、参数2、、、)这样的信息,因此应该结构体比较好操作一些吧


我根据传输信息中的函数名及参数去选择调用对应的函数。因此我需要一个类似的例程


 stm32库安装太麻烦了...
 跟你讲一下思路吧
 上位机通讯你直接用串口助手就好,不用python的...
 串口通讯会写吗
 不会的话建议看这两个,用的基础库
 https://www.bilibili.com/video/BV1q4411d7RX?t=1604&p=7
 https://blog.csdn.net/zxh1592000/article/details/78656609

 接下来就展现C语言能力的时候了,将字符串转化为命令
 串口中断的时候,将字符串存储起来
 比如 上位机发送:DC_Motor_move 60
 stm32f103将接收到的字存为字符串
 定义一个全局字符串指针来存储 'DC_Motor_move 60'
 然后就是比较字符串的开头
 跟DC_Motor_move和Step_Motor_move等等比较
 对得上就提取后面的参数
 后面就根据if判断执行不同的函数并传入参数就好了...

不好意思啊,道理我最近查资料都看得明白,就是实操不出来,比如python怎么发送结构体,MDK怎么接收结构体,怎么解析出来信息,这三个实操我整不出来

字符串不好存我说的信息吧,变量一多就不好整了

 发送不了结构体...python没有结构体的概念
 也接收不了结构体...数据是通过字符的形式传输的
 发送和接收的都是字符串
 你的想法很多就是不能实现
 你可以去问你老师或者前辈想法的可行性

 只能写一个字符串解析函数,从字符串中提取信息
 变量多,但是方法是一样的

私信聊

你啥时候要