打印
[MM32硬件]

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

[复制链接]
405|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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、访问灵动微官网可以获得完整的资料
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为例

1、初始化LED
设置PB14、PB15为高速、输出
void GPIO_Configure(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_14 | GPIO_Pin_15 ;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB, &GPIO_InitStruct);

    GPIO_WriteBit(GPIOB, GPIO_Pin_14 | GPIO_Pin_15, Bit_SET);
}
2、LED翻转函数
void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn)
{
    if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn))
    {
        GPIO_SetBits(GPIOn, PINn);
    }
    else
    {
        GPIO_ResetBits(GPIOn, PINn);
    }
}


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

    GPIO_Configure();

    while (1)
    {
        GPIO_IO_Toggle(GPIOB, GPIO_Pin_14);
        GPIO_IO_Toggle(GPIOB, GPIO_Pin_15);

        PLATFORM_DelayMS(100);
    }
}


三、运行效果


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

    //GPIO_Configure();

    while (1)
    {
        //GPIO_IO_Toggle(GPIOB, GPIO_Pin_14);
        //GPIO_IO_Toggle(GPIOB, GPIO_Pin_15);
                                PLATFORM_LED_Toggle(LED1);
                                PLATFORM_LED_Toggle(LED2);

        PLATFORM_DelayMS(100);
    }
}


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


使用特权

评论回复
沙发
chenqianqian| | 2025-6-11 22:09 | 只看该作者
这个界面颜色配置,感觉又回到了DOS系统得年代。

使用特权

评论回复
板凳
LightCatcher| | 2025-6-13 21:13 | 只看该作者
你这个界面让人眼前一亮啊,写的很详细

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

128

帖子

3

粉丝