1
0
mirror of https://github.com/armink/EasyLogger.git synced 2025-01-31 21:42:53 +08:00
2022-09-11 00:44:58 +08:00

1.2 KiB
Raw Blame History

NUCLEO-G070RB(基于STM32G070RBT6) FreeRTOS demo

1、简介

使用STM32CubeMX创建FreeRTOS工程实现异步log输出的demo

2、使用方法

导入STM32CubeIDE连接开发板下载使用。使用NUCLEO自带的STLinkV2-1的串口配置115200 8 1 N可观察到3种不同等级和颜色的HelloWorld。

3、文件说明

  • Components/EasyLogger_Port文件夹下为移植参考适配文件。
  • Core/Src/main.c添加了串口发送完成回调函数和elog初始化。
  • Core/Src/app_freertos.c中默认线程每间隔1秒发送一次log。

4、其他说明

  • 对于NUCLEO-G070RB的默认Cube工程大致进行了如下修改修改了系统时钟为64M修改系统时钟源为TIM1开启FreeRTOS添加了log异步输出线程添加了信号量使能 USE_NEWLIB_REENTRANT 选项串口数据字节改为8添加串口发送DMA打开串口中断。
  • 对于异步输出的线程本demo中为elog线程和需要使用elog的线程推荐stack大小大于256word使用Cube默认的128word可能会造成栈溢出。
  • 需要打开串口2的中断而不仅仅是默认打开的DMA中断才能在DMA传输完成后正常进入HAL_UART_TxCpltCallback()回调函数。