在我的 STM32 项目中,我想同时使用 FreeRTOS 和串行通信。但在包含 FreeRTOS 依赖项后,串行连接无法正常工作。我正在 PlatformIO STM32Duino 框架工作并使用库 FreeRTOS
看下面是我的测试代码
#include <Arduino.h>
void setup() {
Serial.begin(9600);
Serial.println("Serial Started...");
}
void loop() {
Serial.println("Hello world..");
delay(1000);
}
PlatformIO配置如下
[env:STM32]
platform = ststm32
board = blackpill_f411ce
framework = arduino
upload_protocol = dfu
monitor_speed = 115200
build_flags =
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
-D USBCON
build_src_filter=+<*> -<.git/> -<.svn/> -<doc/>
lib_deps= https://github.com/stm32duino/STM32FreeRTOS/archive/refs/tags/10.3.2.zip
但是我发现在Windows中检测到COM端口,但串行监视器无法连接到COM端口。 如果我注释掉“lib_deps=....”行,一切正常
如果有人知道解决方案请告诉我
我在 ini 文件中定义了 configMEMMANG_HEAP_NB,现在 Serial 和 FreeRTOS 可以正常工作。以下是新配置
[env:STM32]
platform = ststm32
board = blackpill_f411ce
framework = arduino
debug_tool = stlink
upload_protocol = stlink
monitor_speed = 115200
build_flags =
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
-D USBCON
-D configMEMMANG_HEAP_NB
build_src_filter=+<*> -<.git/> -<.svn/> -<doc/>
lib_deps=https://github.com/stm32duino/STM32FreeRTOS.git