买的硬石家的步进电机,给的资料都是基于自家开发板的,但是我手头的是Alientek家的stm32,型号是F103RCT6,硬石家的F1-Pro型号是stm32F103ZET6,代码资料当然不能直接用,要参考自己的板子的MCU分布和管脚映射,在把代码原理理解清楚的基础上进行修改。之前玩过一点点单片机,但是没有系统地学过,坑也踩了一些,姑且把这个当做记录贴吧。
拿到器材首先进行硬件连接,比较简单不赘述。
店家给的资料都是基于自家板子的,具体有F1-Mini,F1-Pro, F4-Pro,且官方例程都是基于HAL库的,Alientek的MiniStm32给的官方例程也有HAL库版本的,经过对比发现,F1-Pro版本和我的板子固件库是一致的,所以我的代码都是基于F1-Pro的资料做的修改,修改的范围就是main文件,实验用到的相关硬件驱动文件和中断文件(这个千万不要忘啊,血的教训,别说!别问!妈蛋!)
简单分析一下工程结构
核心的硬件驱动文件就是这三个,第一个用来从串口输出速度值,第二个用来驱动电机旋转,第三个用来接收编码器的信号并处理。
在每个硬件驱动文件代码中都首先定义一个结构体,或者说一个handler,可以将它理解为一个接口,在主函数中可以方便调用。