库跑通顺序指南

三套库函数体系的外设跑通顺序:DDL(华大)/ HAL(灵动微)/ SPL标准库(灵动微老系列),按依赖+项目相关性排序

3
库体系
19
DDL步骤
16
HAL步骤
13
SPL步骤

DDL库跑通顺序(华大HC32F005)

适用固件:HC32F005_DDL_Rev2.0.0 · 目标芯片:HC32F005(Cortex-M0+,32KB Flash / 4KB RAM,48MHz)

0
环境搭建
安装Keil Pack + 下载器
✓ Keil器件表出现HC32F005C6PA/C6UA
1
骨架工程
复制HC32F005_Template_Rev1.1.0模板,改名后编译
✓ 编译0 Error
2
SysTick延时
example\sysctrl\sysctrl_systick
✓ 延时LED闪烁节奏可观察
3
UART1调试口
example\uart\uart_int(TX=P35, RX=P36)
✓ 串口助手看到printf
4
GPIO输出/输入
gpio_output / gpio_input
✓ LED亮灭、按键读电平
5
GPIO中断
gpio_interrupt
✓ 按键中断翻转LED
6
ADT PWM
adt\CompareOutput
✓ 占空比可调(示波器/万用表)
7
ADT互补+捕获
PwmHwComp / CaptureInput
✓ 互补PWM带死区、脉宽测量
8
GT通用定时器
generaltimer\gt_timer
✓ 定时中断周期准确
9
ADC单次
adc\adc_norm_polling
✓ 电压值printf回读,换算核对
10
ADC多通道扫描
adc_scan_mul_irq / adc_scan_sqr_acc
✓ 多通道数据+中断/累加
11
VC电压比较
vc\vc_vref_rising_irq
✓ 阈值翻转产生中断
12
LVD低压检测
lvd_detect_high_irq / lvd_detect_reset
✓ 低压事件中断/复位
13
I2C
i2c\i2c_bl24c08_poll
✓ EEPROM写入回读一致
14
SPI
spi\spi_master
✓ 外挂器件寄存器回读
15
FLASH
flash\flash_erase_write
✓ 掉电保存数据可恢复
16
WDT看门狗
wdt\wdt_reset
✓ 不喂狗复位、喂狗不死
17
CRC校验
crc\crc_crc16
✓ CRC16结果与计算器一致
18
PCA
pca\pca_16bit_pwm
✓ 补充PWM输出正常
19
LPM低功耗
gpio\gpio_deepsleep_wakeup
✓ 睡眠电流下降、可唤醒

⚠️ DDL库常见坑

HAL库跑通顺序(灵动微MM32L0020)

适用固件:LibSamples_MM32L0020_V1.5.6 · 目标芯片:MM32L0020(Cortex-M0+,32KB Flash / 2KB RAM,48MHz)

0
环境搭建
安装MM32L0020 DFP pack + 下载器
✓ Keil器件表出现MM32L0020B1T
1
骨架工程
复制GPIO_LED_Toggle例程建工程
✓ 改名后编译0 Error
2
SysTick延时
例程自带platform.c的PLATFORM_InitDelay
✓ LED闪烁节奏稳定
3
调试串口printf
例程自带PLATFORM_InitConsole(LPUART1,PA1)
✓ 串口助手看到printf
4
GPIO输出/输入
GPIO_LED_Toggle / GPIO_KEY_Input
✓ LED亮灭、按键读电平
5
UART收发
UART_Polling / UART_Interrupt
✓ 串口回环收发一致
6
EXTI中断
EXTI_Interrupt
✓ 按键中断翻转LED
7
TIM3定时
TIM3_TimeBase
✓ 定时翻转周期准确
8
TIM3 PWM
TIM3_PWM_Output
✓ 占空比可调(示波器)
9
ADC单次
ADC_NormalChannel_SingleConversion_Polling
✓ 电压printf回读,换算核对
10
ADC扫描
ADC_AnyChannel_ContinuousScan_Interrupt
✓ 多通道+中断连续采样
11
OPAMP + ADC(亮点)
OPAMP_Base — 片内运放输出采样(压力信号链)
✓ 片内运放增益/参考电压档位确认
12
I2C
I2C_Master_EEPROM_Polling
✓ EEPROM写读一致
13
SPI
SPI_Master_FLASH_Polling
✓ 外挂器件ID回读
14
FLASH
FLASH_SimulateEEPROM
✓ 掉电保存可恢复
15
IWDG / WWDG
IWDG_SystemMonitor / WWDG_SystemMonitor
✓ 不喂狗复位、喂狗不死
16
PWR / LPTIM低功耗
PWR_Stop_EXTI_Wakeup / LPTIM_TimeBase
✓ 睡眠电流下降、定时唤醒

⚠️ HAL库常见坑

标准库SPL跑通顺序(灵动微老系列)

灵动微老系列(MM32F103/F031/F032/F003/F0020等)标准外设库,API风格类似ST标准库。与HAL库顺序完全同构。

0
环境搭建
安装DFP pack(本机MM32_KEIL_Pack里现成)
✓ Keil器件表出现对应MM32Fxxx
1
骨架工程
路线A:DFP内RegSample\GPIO_LED(寄存器);路线B:标准库包模板例程
✓ 改名后编译0 Error
2
SysTick延时
SYSTICK / 模板自带delay
✓ LED闪烁节奏稳定
3
UART printf
UART_Polling / UART_Interrupt
✓ 串口助手看到printf
4
GPIO输出/输入
GPIO_LED_Toggle / GPIO_KEY_Input
✓ LED亮灭、按键读电平
5
EXTI中断
EXTI_Interrupt
✓ 按键中断翻转LED
6
TIM定时
TIM_TimeBase
✓ 定时翻转周期准确
7
TIM PWM
TIM_PWM_Output
✓ 占空比可调
8
ADC
ADC_SingleConversion_Polling
✓ 电压printf回读,换算核对
9
I2C
I2C_EEPROM_Polling
✓ EEPROM写读一致
10
SPI
SPI_Master_Polling
✓ 外挂器件回读
11
FLASH
FLASH_Erase_Program / FLASH_SimulateEEPROM
✓ 掉电保存可恢复
12
IWDG / WWDG
IWDG_SystemMonitor / WWDG_SystemMonitor
✓ 不喂狗复位、喂狗不死
13
PWR低功耗
PWR_Stop_Wakeup
✓ 睡眠电流下降、可唤醒

⚠️ 标准库常见坑