收到MM32 Motor-DK有一段时间,由于忙于工作一直没有上手开发板。今天忙里偷闲研究一下,上手前一直在关注相关技术群内的交流以及开发板提供的资料文档。以下分享以下相关步骤:
1.确认一下自己KEIL5的版本,运行Keil 电机“help”->"About uVision"便可以查看keil版本号 V5.10
开发板上提供的文档内要求说 KEIL要5.15 以上版本采用,便在网上当了一个V5.18版本的安装(由于我电脑上已有keil安装过程相对比较顺利一路“next”)。
2.运行工程
由于我下载到的资料包里“4-Software”文件夹内只有一个“KEIL&IAR工程搭建教程.pdf”文档并没有文档中提到的“MiniBoard”文件夹,不过文档内容讲的很详细根据文档完全可以自己新建工程,(在这里偷了个懒没有自己建立工程而是直接运行的资料包里的例程),程序运行后提示芯片不支持,应该是软件开发环境无相关芯片pack,在官网上下载MM32系列 KEIL pack文件包并手动安装(下载地址:http://www.mindmotion.com.cn/download.aspx?cid=2546),安装后重新运行例程没有报错并可以正常编译,
3.程序下载
程序编译完成后设置J-link SWD方式下载,确认了一下flash 下载界面设置后点击下载程序,程序下载成功并复位运行,
4.观察程序运行并简单阅读程序
程序下载完成后MM32SPIN05PF_Core板上的LD2指示的闪烁,查看工程主程序(例程文件注释写的很详细,工程师很用心 )LED相关初始化函数
void LED_Init(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); //开启GPIOA时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 |GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
LED0_OFF;
LED1_OFF;
}
查看电路图确认LD2指示灯对应的单片机管教PA12
查看LED0_OFF; LED1_OFF;宏定义确认LED1对应LD2
在工程中搜索“LED1_TOGGLE”查找LD2闪烁控制闪烁,
双击进入 宏定义在void Error_Code_Show_to_LED(void) 函数中调用,在函数中打断点在线仿真运行发现Motor1.info.u8ErrorCode=5猜测应该是错误代码,搜索u8ErrorCode查找相关代码含义
程序运行LD2闪烁对应错误应该是我没有给开发板是直接J-link供电而没有供电机驱动电压造成的。手头上暂时没有电机就先不上高压了。
至此MM32 Motor-DK相关开发环境建立及程序烧写运行代码简单阅读完成,总的感觉厂家提供的文档很全面,例程代码注释详细很容易上手,只是BLDC电机的相关控制算法之前也是一知半解,自己还需深入学习。