1
0
mirror of https://github.com/armink/EasyLogger.git synced 2025-02-08 00:54:09 +08:00
2022-09-11 00:44:58 +08:00

21 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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()`回调函数。