1. 主控芯片
板载主控:MM32F0121C6P
Arm® Cortex-M0 内核 32位,最高工作频率72MHz,内置高速存储器
- 64KB Flash,8KB SRAM
- 1个12 位的ADC和1 个比较器
- 1 个 CSM 通用串行模块(多功能串行通信外设同一组引脚可通过配置切换为 UART/SPI/I2C)、1 个 16 位高级定时器、1 个16 位通用定时器、3 个16 位基本定时器和 1 个实时时钟(RTC)模块
- 3 个 USART 接口、1 个 SPI 接口和 1 个 I2C 接口。
- 工作电压为 2.2V ~ 5.5V
- 工作温度范围:-40°C ~ 85°C
2.资料下载地址
开发板 手册 文档下载地址 https://www.mindmotion.com.cn/support/development_tools/evaluation_boards/miniboard/mm32f0121c6p/
芯片 手册地址 https://www.mindmotion.com.cn/products/mm32mcu/mainstream_line/mm32f_mainstream/mm32f0120/
KEIL 集成开发环境下载地址 https://www.mindmotion.com.cn/support/software/keil_pack/
下载是这样的

3.关键电路图
1- 开发版引脚图 注意LED KEY 等引脚 开发时候会使用

2.芯片引脚表
| 引脚编号 | 引脚名称 | 主要功能(核心) | 补充说明 |
|---|---|---|---|
| 1 | VDD_3V3 | 电源(3.3V) | 主电源输入,需接滤波电容 |
| 2 | PA0/ADC_IN0 | GPIOA0 / ADC 通道 0 / 外部中断 | 可复用为 TIM1_CH1、WKUP(唤醒) |
| 3 | PA1/ADC_IN1 | GPIOA1 / ADC 通道 1 / 外部中断 | 可复用为 TIM1_CH2 |
| 4 | PA2/ADC_IN2 | GPIOA2 / ADC 通道 2 / 外部中断 | 可复用为 TIM1_CH3 |
| 5 | PA3/ADC_IN3 | GPIOA3 / ADC 通道 3 / 外部中断 | 可复用为 TIM1_CH4 |
| 6 | PA4/ADC_IN4 | GPIOA4 / ADC 通道 4 | 可复用为 SPI1_NSS |
| 7 | PA5/ADC_IN5 | GPIOA5 / ADC 通道 5 | 可复用为 SPI1_SCK |
| 8 | PA6/ADC_IN6 | GPIOA6 / ADC 通道 6 | 可复用为 SPI1_MISO |
| 9 | PA7/ADC_IN7 | GPIOA7 / ADC 通道 7 | 可复用为 SPI1_MOSI |
| 10 | PB0/ADC_IN8 | GPIOB0 / ADC 通道 8 | 可复用为 TIM3_CH3 |
| 11 | PB1/ADC_IN9 | GPIOB1 / ADC 通道 9 | 可复用为 TIM3_CH4 |
| 12 | PB2 | GPIOB2 / BOOT1 | BOOT1 引脚,决定启动模式 |
| 13 | PB10 | GPIOB10 / USART3_TX | 可复用为 I2C2_SCL |
| 14 | PB11 | GPIOB11 / USART3_RX | 可复用为 I2C2_SDA |
| 15 | PB12 | GPIOB12 / SPI2_NSS | 可复用为 I2C2_SMBUSALERT |
| 16 | PB13 | GPIOB13 / SPI2_SCK | 可复用为 TIM1_CH1N |
| 17 | PB14 | GPIOB14 / SPI2_MISO | 可复用为 TIM1_CH2N |
| 18 | PB15 | GPIOB15 / SPI2_MOSI | 可复用为 TIM1_CH3N |
| 19 | VSS | 地 | 电源地,需可靠接地 |
| 20 | VDD_3V3 | 电源(3.3V) | 主电源输入 |
| 21 | PA8 | GPIOA8 / TIM1_CH1 | 可复用为 MCO(时钟输出) |
| 22 | PA9 | GPIOA9 / USART1_TX | 可复用为 TIM1_CH2 |
| 23 | PA10 | GPIOA10 / USART1_RX | 可复用为 TIM1_CH3 |
| 24 | PA11 | GPIOA11 / USART1_CTS | 可复用为 TIM1_CH4、USB_DM |
| 25 | PA12 | GPIOA12 / USART1_RTS | 可复用为 TIM1_ETR、USB_DP |
| 26 | PA13 | GPIOA13 / SWDIO | SWD 调试接口(数据) |
| 27 | PA14 | GPIOA14 / SWCLK | SWD 调试接口(时钟) |
| 28 | PA15 | GPIOA15 / SPI1_NSS | 可复用为 TIM1_CH1N |
| 29 | PB3 | GPIOB3 / JTDO-SWO | SWO 调试输出,可复用为 TIM2_CH2 |
| 30 | PB4 | GPIOB4 / JTRST | JTAG 复位,可复用为 TIM3_CH1 |
| 31 | PB5 | GPIOB5 / I2C1_SMBA | 可复用为 SPI1_MOSI、TIM3_CH2 |
| 32 | PB6 | GPIOB6 / I2C1_SCL | 可复用为 USART1_TX、TIM4_CH1 |
| 33 | PB7 | GPIOB7 / I2C1_SDA | 可复用为 USART1_RX、TIM4_CH2 |
| 34 | PB8 | GPIOB8 / TIM4_CH3 | 可复用为 I2C1_SCL |
| 35 | PB9 | GPIOB9 / TIM4_CH4 | 可复用为 I2C1_SDA |
| 36 | BOOT0 | BOOT0 | 启动模式选择引脚 |
| 37 | NRST | 复位引脚(低电平有效) | 外部复位输入,可接复位电路 |
| 38 | VSS | 地 | 电源地 |
| 39 | VDD_3V3 | 电源(3.3V) | 主电源输入 |
| 40 | PC13 | GPIOC13 / TAMPER-RTC | 可复用为 RTC 闹钟输出 |
| 41 | PC14 | GPIOC14 / OSC32_IN | 32.768kHz 晶振输入 |
| 42 | PC15 | GPIOC15 / OSC32_OUT | 32.768kHz 晶振输出 |
| 43 | PH0/OSC_IN | GPIOH0 / 高速晶振输入 | 8~24MHz 晶振输入 |
| 44 | PH1/OSC_OUT | GPIOH1 / 高速晶振输出 | 8~24MHz 晶振输出 |
| 45 | PC0/ADC_IN10 | GPIOC0 / ADC 通道 10 | 可复用为 TIM3_CH1 |
| 46 | PC1/ADC_IN11 | GPIOC1 / ADC 通道 11 | 可复用为 TIM3_CH2 |
| 47 | PC2/ADC_IN12 | GPIOC2 / ADC 通道 12 | 可复用为 TIM3_CH3 |
| 48 | PC3/ADC_IN13 | GPIOC3 / ADC 通道 13 | 可复用为 TIM3_CH4 |
4.开发环境配置
1.下载安装kell支持包(上面有链接)


一定要找对安装包
LibSamples_MM32F0120_V1.13.4\Samples\LibSamples 这个这个文件下打开 kell 例程文件
2.配置keil
点击魔术棒 点击settings
配置

高亮这个设置
点击 flash dowload 配置flash

点击add

注意要勾选 reser and run 点击OK生效
4.点击构建项目 然后烧录

LED 就可以点亮 实现闪烁状态
新构建项目 建议复制例程配置好的项目修改
简单分析一下 项目目录 
这是LED 反转文件 APP是代码文件 其中platform 是硬件平台文件 这个文件主要是
硬件操作(延时、串口、LED、时钟)封装成标准的函数,上层应用(如main.c)只需调用这些函数,无需关心底层寄存器配置;
提供项目通用的基础功能(延时、串口打印、LED 控制)
屏蔽不同编译器(IAR/GCC)的差异,保证printf等函数跨编译器可用
可以理解成 是工具文件 简化上层开发提升代码可维护性 的抽象设计 也是现在写代码的要求
mm32f0120_it 是中断文件
HAL_LIB 是库文件 STARTUP 是启动文件
其中 startup_mm32f0120_keil.lst 这个文件可以设置堆栈大小

这个要注意一下 函数庞大建议 建议把 栈(Stack)大小 改大一点 不然很容易死机出现问题

这是GPIO初始化 和STM32库函数 非常像 可以作为参考适配其他STM32 代码

开源社区
