本人使用的设备/驱动:
- Windows10
- 串口助手 4.3.25(其实啥都行)
- 桃饱随处可买的usb-ttl(ch340G)
- 桃饱随处可买的stlink
- mpu6050(一个板载,一个通过I2C接插件连接外置)
- cubeMX 5.6.1
- PlatformIO
- pycharm community2019
- stm32f103rct6的storm32BGC
使用stm32f103rct6,配置uart中断,配合pyqt在线调参
本文直接从项目中加入相关功能说起,环境以及其他外设配置:
CubeMX配合PlatformIO开发STM32,配置环境,点亮LED灯
CubeMX配合PlatformIO开发STM32,配置usart实现串口通讯
CubeMX配合PlatformIO开发STM32,配置ADC实现电池电压检测
CubeMX配合PlatformIO开发STM32,配置MPU6050(I2C)
CubeMX配合PlatformIO开发STM32,配置双MPU6050(板载与外置),并使用gui显示数据
CubeMX配合PlatformIO开发STM32,通过系统时钟(systick)中断让不同功能代码以不同频率执行,计算计算所花时间
CubeMX配合PlatformIO开发STM32,实现pid算法控制电机的转角
CubeMX配合PlatformIO开发STM32,配置定时器,实现SPWM算法控制电机
CubeMX配合PlatformIO开发STM32,配置uart中断,配合python的gui在线调参
每改一次pid都要重新烧太麻烦了,能在线调多美好啊
这是设计好的gui,核心部分是上面的滑轨以及右边显示的两列lcd,左边一列lcd是实时lcd,反应滑轨;右边一列lcd是lcd_saved,显示storm开发板中pid的参数。
大概的交互逻辑大致如下: