本帖最后由 forgot 于 2024-7-17 15:11 编辑
1、拿到板子之后首先是搭建MM32的开发环境,因为我之前的MDK是5.27版本,添加在MM官网下载的芯片支持包不行,通过MDK的导入安装无法成功,单独双击安装pack之后会有报错,报错忘记截图了。
后来通过搜索感觉是中文路径的问题,结果也不是的,最后弄了很长时间是重新写在安装了MDK 5.38A就可以了。 因为平时开发习惯用SWD接口进行调试,正好手上有一个WCH-Link,所以调试工具我用的是WCH-Link的SWD接口进行调试下载。魔术棒里面的配置比较简单,正确连接板子上电就可以看到识别到芯片了。
2、原板子开始上电自带的程序是流水灯在闪,根据LED和KEY的对应管脚编写程序实现按键按下,通过LED来识别按键已经按下,由于KEY1的电路与K234设计不一样,所以灯的显示效果也不一样。 K1是按下去高电平,应该是考虑到做低功耗休眠模式的唤醒功能来使用,所以在初始化配置的时候配置的是下拉输入。 K2、K3、K4按下去是接地的,所以是低电平,在GPIO初始化中也是配置成上拉输入。 LED的初始化函数都是demo程序写好的,直接使用就好了。 在PLATFORM_Init重添加PLATFORM_InitLED();和PLATFORM_InitKEY();然后编写LED_BY_KEY();函数,进行调用就可以了 void PLATFORM_Init(void)
{
PLATFORM_InitDelay();
PLATFORM_InitConsole(115200);
PLATFORM_InitLED();
PLATFORM_InitKEY();
PLATFORM_PrintInfo();
}
void LED_BY_KEY(void)
{
PLATFORM_LED_Enable(LED1, (FunctionalState)GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_4));
PLATFORM_LED_Enable(LED2, (FunctionalState)GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_5));
PLATFORM_LED_Enable(LED3, (FunctionalState)GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1));
PLATFORM_LED_Enable(LED4, (FunctionalState)GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_2));
}
3、第一次测试的主要时间还是花在MDK的环境搭建上面,因为版本的原因,不知道是不是就是不支持5.27版本。但是之前查资料好像看到说5.27版本应该是支持的,有知道的朋友可以说一下,因为我有另外一台电脑用的是5.27版本。谢谢
|