基于STM32CubeMX创建工程并适配BabyOS
代码地址:nucleo-stm32h503rb
doc目录有板子和芯片相关资料!
启动STM32CubeMX,选择ST板卡;
所有的板载外设都已经配置好了,为了适配BabyOS,只是将Systick的优先级调高了。
先适配串口和GPIO部分,能够实现Log输出和LED闪烁。
根据原理图,Log输出选择UART3,LED使用PA5
添加BabyOS代码至工程:
日志输出改为UART3
使用软件PWM模块,用于LED的闪烁。
bPWM_INSTANCE(bLedBlink, 2000, 1000, 0); static void _LedPwmHandler(uint8_t type) { switch (type) { case PWM_HANDLER_CCR: { b_log("led off..\r\n"); bHalGpioWritePin(B_HAL_GPIOA, B_HAL_PIN5, 0); } break; case PWM_HANDLER_PERIOD: { b_log("led on..\r\n"); bHalGpioWritePin(B_HAL_GPIOA, B_HAL_PIN5, 1); } break; } }
实验效果: