一、ST官方相关资源
二、软件工具及开发套件
1、软件安装
- ST MC Workbench (v5.0.3) 配置硬件参数,用于生成工程。SDK5.0与SDK4.x不同,v5.0直接通过CubeMx生成工程,而v4.x只生成.h文件,需要自己创建工程。
- STM32CubeMx (v4.25) CubeMx还可调整外设,STM32CubeMx不要安装在中文路径下!!
- ST-LINK/V2(v4.2.0) 串口驱动
- IAR Embedded Workbench for Arm (v8.xx) IDE,必须是v7.8以上的IAR
2、开发套件:P-NUCLEO-IHM001
3、使用过程中的注意事项
以下都是实际操作过程中遇到的问题,注意下可以少浪费很多时间
- 如果是win10的系统,将SDK默认安装到C盘,使用时需用管理员权限打开。使用IAR时,也最好用管理员权限打开
- 使用前要将开发板跳线连好,IAR工程配置好 详情见文件:https://download.csdn.net/download/talender/10683761
- IAR的optimization只有设成high或median时,才能正常下载和控制,不知道为啥。但high optimization会导致watch窗口无法查看局部变量和未被语句调用的变量,可以将局部变量设置为全局变量,从而查看电机状态
三、把电机转起来
1、workbench生成工程
- 单击其图标或从安装文件夹路径直接启动
- 操作界面:可以选择自己新建Project或使用对应的工程示例
- 详细配置见文档的workbench生成工程书签:https://download.csdn.net/download/talender/10683711
- 所有的参数配置完成后,点击生成图标,可根据所选的IDE生成MC应用工程
P-NUCLEO-IHM001直接用工程示例即可,生成的文件如下,IAR可直接打开
2、控制电机转动
(1)使用Workbench界面实时控制
- 先把上一步生成好的IAR工程下载到单片机中,此工程while(1)里为空,只有各种初始化函数。记得下载前配置好工程环境
- 打开之前建好的workbench,点击电机监控按钮,选择com,连接成功后start motor即可。
- 可以正反转,但是当速度正负变化时会报错,此时需要点击Fault Ack清除错误,start重新开始。详细的电机状态和正反转控制方法,请看下一个博客https://blog.csdn.net/talender/article/details/82824366。
(2)调用API,编写IAR工程
在while(1)中的 /* USER CODE BEGIN 3 */ 与 /* USER CODE END 3 */ 间编写程序,否则在CubeMx调整外设重新生成后,编写的代码会消失(如果在workbench重新generate,代码不管写在哪都会消失)。详细的电机状态和正反转与转速控制方法,请看下一个博客https://blog.csdn.net/talender/article/details/82824366。
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000
MC_StartMotor1(); //马达运转
HAL_Delay(10000); //延时10S
MC_ProgramSpeedRampMotor1(5000/6,1000); //设定转速为3000
HAL_Delay(10000);
MC_ProgramSpeedRampMotor1(2000/6,1000); //设定转速为3000
HAL_Delay(10000);
MC_StopMotor1(); //马达停转
HAL_Delay(5000);
/* USER CODE END 3 */
}
四、所有的API
API详解请看文档:https://download.csdn.net/download/talender/10683711