[MM32软件] 【灵动微电子MM32F5330测评】搭建开发环境实现简单的KEY与LED功能

[复制链接]
1119|4
 楼主| forgot 发表于 2024-7-17 15:08 | 显示全部楼层 |阅读模式
本帖最后由 forgot 于 2024-7-17 15:11 编辑

1、拿到板子之后首先是搭建MM32的开发环境,因为我之前的MDK是5.27版本,添加在MM官网下载的芯片支持包不行,通过MDK的导入安装无法成功,单独双击安装pack之后会有报错,报错忘记截图了。
微信图片_20240717084959.jpg

后来通过搜索感觉是中文路径的问题,结果也不是的,最后弄了很长时间是重新写在安装了MDK 5.38A就可以了。
因为平时开发习惯用SWD接口进行调试,正好手上有一个WCH-Link,所以调试工具我用的是WCH-Link的SWD接口进行调试下载。魔术棒里面的配置比较简单,正确连接板子上电就可以看到识别到芯片了。

微信图片_20240717084948.jpg

微信图片_20240717084951.jpg

微信图片_20240717084955.jpg

2、原板子开始上电自带的程序是流水灯在闪,根据LED和KEY的对应管脚编写程序实现按键按下,通过LED来识别按键已经按下,由于KEY1的电路与K234设计不一样,所以灯的显示效果也不一样。
K1是按下去高电平,应该是考虑到做低功耗休眠模式的唤醒功能来使用,所以在初始化配置的时候配置的是下拉输入。
K2、K3、K4按下去是接地的,所以是低电平,在GPIO初始化中也是配置成上拉输入。
LED的初始化函数都是demo程序写好的,直接使用就好了。
在PLATFORM_Init重添加PLATFORM_InitLED();和PLATFORM_InitKEY();然后编写LED_BY_KEY();函数,进行调用就可以了
  1. void PLATFORM_Init(void)
  2. {
  3.     PLATFORM_InitDelay();
  4.     PLATFORM_InitConsole(115200);
  5.     PLATFORM_InitLED();
  6.                 PLATFORM_InitKEY();
  7.     PLATFORM_PrintInfo();
  8. }

  1. void LED_BY_KEY(void)
  2. {
  3.                 PLATFORM_LED_Enable(LED1, (FunctionalState)GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_4));
  4.                 PLATFORM_LED_Enable(LED2, (FunctionalState)GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_5));
  5.                 PLATFORM_LED_Enable(LED3, (FunctionalState)GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1));
  6.                 PLATFORM_LED_Enable(LED4, (FunctionalState)GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_2));
  7. }

微信图片_20240717084904.jpg

3、第一次测试的主要时间还是花在MDK的环境搭建上面,因为版本的原因,不知道是不是就是不支持5.27版本。但是之前查资料好像看到说5.27版本应该是支持的,有知道的朋友可以说一下,因为我有另外一台电脑用的是5.27版本。谢谢

shenxiaolin 发表于 2024-7-22 17:04 | 显示全部楼层
感谢分享,辛苦了
地瓜patch 发表于 2024-7-30 20:53 | 显示全部楼层
做个呼吸灯玩
gangong 发表于 2024-10-26 19:42 | 显示全部楼层
棒棒的
beyikyo 发表于 2024-10-31 16:47 | 显示全部楼层
介绍了 MM32F5330 开发环境搭建及 KEY 与 LED 功能实现,有参考价值!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2115

主题

14686

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部