[MM32硬件] 【灵动微电子MM32F0121测评】1、搭建环境&LED双闪

[复制链接]
 楼主| 发表于 2025-6-11 21:01 | 显示全部楼层 |阅读模式
本帖最后由 sujingliang 于 2025-6-11 21:06 编辑


灵动微电子(MindMotion)的 MM32F0121 MiniBoard-OB 延续了该系列的一贯设计风格,采用沉稳的黑色PCB,集成了丰富的硬件资源,主打高集成度与便捷开发体验。
核心亮点
一体化调试:内置 DAPLink调试器,无需外接工具即可烧录与调试,大幅简化开发流程。
灵活ADC采样:板载可变电位器,通过旋钮即可实时调节分压值,便于快速验证ADC采集功能,是硬件调试的实用设计。
完备外设:集成Flash、EEPROM、用户按键(BUTTON)和LED指示灯,满足基础外设交互需求,降低扩展成本。

在上电启动后,开发板会自动运行示例DEMO程序,全面展示其核心功能和硬件特性。
DEMO程序功能概览
基本信息输出
开发板启动后,串口终端会打印硬件信息(如芯片型号、时钟频率等),便于开发者快速确认系统状态。

存储测试
自动执行 Flash 和 EEPROM 的读写校验,确保存储模块工作正常。

ADC 采样与控制
按键交互:通过 KEY1/KEY2 可启停ADC采样,动态控制数据采集流程。
电位器调节:旋转板载可变电位器,实时改变ADC输入电压,采样值随动更新,直观体现模拟信号采集效果。

PWM 呼吸灯效果
板载的 2颗LED 以渐亮渐暗的呼吸灯模式闪烁,由PWM精准调控,演示定时器与GPIO的协同工作。
该DEMO程序完整驱动了所有板载资源,既是对开发板硬件功能的全面自检,也为开发者提供了开箱即用的参考实现。通过交互式操作(按键、电位器)与视觉反馈(LED、串口输出),生动呈现了核心外设的应用场景,大幅降低后续开发的学习门槛。



1.png 2.png


一、资源下载及环境准备

1、访问灵动微官网可以获得完整的资料
1)开发板主控为MM32F0120:主控资料
在产品手册中下载:MM32F0120 产品手册(中文版)MM32F0120 用户手册(中文版)
在工具和软件中下载:MM32F0120 库函数与例程KEIL PACK
2)开发板主页:MiniBoard-OB (MM32F0121C6P)
主要下载:Mini-F0121-OB (LQFP48) 原理图

2、环境准备
1)安装KEIL PACK 中的MindMotion.MM32F0120_DFP.0.9.3.pack
2)解压MM32F0120 库函数与例程


二、LED双闪
以LibSamples_MM32F0120_V1.13.4\Samples\LibSamples\GPIO\GPIO_LED_Toggle为例
3.png
1、初始化LED
设置PB14、PB15为高速、输出
  1. void GPIO_Configure(void)
  2. {
  3.     GPIO_InitTypeDef GPIO_InitStruct;

  4.     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);

  5.     GPIO_StructInit(&GPIO_InitStruct);
  6.     GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_14 | GPIO_Pin_15 ;
  7.     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
  8.     GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;
  9.     GPIO_Init(GPIOB, &GPIO_InitStruct);

  10.     GPIO_WriteBit(GPIOB, GPIO_Pin_14 | GPIO_Pin_15, Bit_SET);
  11. }
2、LED翻转函数
  1. void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn)
  2. {
  3.     if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn))
  4.     {
  5.         GPIO_SetBits(GPIOn, PINn);
  6.     }
  7.     else
  8.     {
  9.         GPIO_ResetBits(GPIOn, PINn);
  10.     }
  11. }


3、双闪
  1. void GPIO_LED_Toggle_Sample(void)
  2. {
  3.     printf("\r\nTest %s", __FUNCTION__);

  4.     GPIO_Configure();

  5.     while (1)
  6.     {
  7.         GPIO_IO_Toggle(GPIOB, GPIO_Pin_14);
  8.         GPIO_IO_Toggle(GPIOB, GPIO_Pin_15);

  9.         PLATFORM_DelayMS(100);
  10.     }
  11. }


三、运行效果
tutieshi_640x362_3s.gif

四、PLATFORM函数实现双闪
  1. void GPIO_LED_Toggle_Sample(void)
  2. {
  3.     printf("\r\nTest %s", __FUNCTION__);

  4.     //GPIO_Configure();

  5.     while (1)
  6.     {
  7.         //GPIO_IO_Toggle(GPIOB, GPIO_Pin_14);
  8.         //GPIO_IO_Toggle(GPIOB, GPIO_Pin_15);
  9.                                 PLATFORM_LED_Toggle(LED1);
  10.                                 PLATFORM_LED_Toggle(LED2);

  11.         PLATFORM_DelayMS(100);
  12.     }
  13. }


因为在main函数中调用了PLATFORM_Init,已经初始化了LED1、LED2,
直接调用用platform.c中PLATFORM_LED_Toggle函数就可以实现LED翻转。


发表于 2025-6-11 22:09 来自手机 | 显示全部楼层
这个界面颜色配置,感觉又回到了DOS系统得年代。
发表于 2025-6-13 21:13 | 显示全部楼层
你这个界面让人眼前一亮啊,写的很详细
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

147

帖子

3

粉丝
快速回复 返回顶部 返回列表