🏠 首页📦 芯片包← 返回芯片库
国内芯片

MM32L0020

灵动微 MindMotion
32-bit ARM Cortex-M0
主频
48 MHz
Flash
32 KB
SRAM
4 KB
I/O 口
18
封装
TSSOP-20 / QFN-20
工作电压
2.0-5.5V
MM32L0020 1 1 PA0 2 PA1 3 PA2 4 PA3 5 PA4 6 PA5 7 PA6 8 PA7 9 PB0 10 PB1 11 PB2 12 PB3 13 PB4 14 PB5 15 PB6 16 PB7 17 PC0 18 PC1 19 PC2 20 VDD
👆 点击上方芯片任意引脚查看复用功能
👆 点击上方芯片任意引脚查看复用功能
👆 点击上方芯片任意引脚查看复用功能

片上外设

UART×2SPII2CTimer×3PWM×6WatchdogComparator

芯片特性

示例代码 · GPIO 闪烁

MM32L0020 · main.c
// HC32F005 - DDL库 GPIO 闪烁
#include "hc32f005.h"
int main(void) {
    Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
    Gpio_InitIO(0, 1, GpioDirOut);  // P01 输出
    while(1) {
        Gpio_SetIO(0, 1);
        delay1ms(500);
        Gpio_ClrIO(0, 1);
        delay1ms(500);
    }
}

📌 引脚分布(20引脚封装)

引脚号 引脚名 主要复用功能
1PA0GPIO / ADC_IN0 / TIM2_CH1 / UART2_TX
2PA1GPIO / ADC_IN1 / TIM2_CH2 / UART2_RX
3PA2GPIO / ADC_IN2 / TIM2_CH3 / UART1_TX
4PA3GPIO / ADC_IN3 / TIM2_CH4 / UART1_RX
5PA4GPIO / ADC_IN4 / SPI1_NSS / TIM3_CH1
6PA5GPIO / ADC_IN5 / SPI1_SCK / TIM3_CH2
7PA6GPIO / ADC_IN6 / SPI1_MISO / TIM3_CH3
8PA7GPIO / ADC_IN7 / SPI1_MOSI / TIM3_CH4
9PB0GPIO / ADC_IN8 / I2C1_SCL / TIM1_CH2N
10PB1GPIO / ADC_IN9 / I2C1_SDA / TIM1_CH3N
11PB2GPIO / BOOT0 / LVD_IN
12PB3GPIO / SWO / TIM1_CH1 / SPI2_SCK
13PB4GPIO / SWDIO / TIM1_CH2 / SPI2_MISO
14PB5GPIO / SWCLK / TIM1_CH3 / SPI2_MOSI
15PB6GPIO / I2C1_SCL / UART1_TX / TIM1_CH0
16PB7GPIO / I2C1_SDA / UART1_RX / TIM1_CH1
17PC0GPIO / OSC_IN / LSE_IN
18PC1GPIO / OSC_OUT / LSE_OUT
19PC2GPIO / VCAP
20VDD电源 1.8~5.5V
* 引脚复用功能以官方数据手册为准,本表为20引脚常见封装示例

💻 标准外设库函数示例

GPIO 初始化 + 翻转
// 灵动微 MM32 标准库 - GPIO
#include "mm32l0020.h"

void GPIO_Init(void) {
    GPIO_InitTypeDef g;
    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);
    g.GPIO_Pin  = GPIO_Pin_0;
    g.GPIO_Mode = GPIO_Mode_Out_PP;     // 推挽输出
    g.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &g);
}

int main(void) {
    GPIO_Init();
    while(1) {
        GPIO_SetBits(GPIOA, GPIO_Pin_0);
        delay_ms(500);
        GPIO_ResetBits(GPIOA, GPIO_Pin_0);
        delay_ms(500);
    }
}
UART 发送 + printf重定向
// 灵动微 MM32 标准库 - UART1
#include "mm32l0020.h"

void UART1_Init(uint32_t baud) {
    GPIO_InitTypeDef g;
    UART_InitTypeDef u;
    RCC_APB2PeriphClockCmd(RCC_APB2ENR_UART1, ENABLE);
    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);
    // PA2=TX, PA3=RX
    g.GPIO_Pin = GPIO_Pin_2; g.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA, &g);
    g.GPIO_Pin = GPIO_Pin_3; g.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &g);
    u.UART_BaudRate = baud;
    u.UART_WordLength = UART_WordLength_8b;
    u.UART_StopBits = UART_StopBits_1;
    u.UART_Parity = UART_Parity_No;
    u.UART_Mode = UART_Mode_Rx | UART_Mode_Tx;
    UART_Init(UART1, &u);
    UART_Cmd(UART1, ENABLE);
}

int fputc(int ch, FILE *f) {
    UART_SendData(UART1, (uint8_t)ch);
    while(UART_GetFlagStatus(UART1, UART_FLAG_TXE) == RESET);
    return ch;
}

🗺️ 存储映射 (Memory Map)

区域 起始地址 结束地址 说明
Flash 0x08000000 — 主闪存
SRAM 0x20000000 — 静态RAM
Peripherals 0x40000000 0x5FFFFFFF 外设寄存器
Core 0xE0000000 0xE00FFFFF 内核外设(NVIC/SysTick)

📝 官方外设示例代码

GPIO 外设示例
// GPIO 初始化 + 翻转示例
// 请参考官方数据手册和库函数文档

官方资源

相关芯片推荐(国内)

← 上一款:HC32L130K8TA 11 / 14 下一款:GD32F103C8T6 →