本项目工程一开始使用的主控是STM32L496,正常移植使用serial_v2没有问题。将工程复制下来后使用rtthread studio的修改工程-芯片型号将主控型号更改为STM32F407ZG后自动联网下载STM32F4的SDK包。如下图所示(是因为我的环境中一直没下载过这个SDK包)因为我的版本是4.0.5所以我下载的是0.2.2 下载后正常配置serial_v2...
serial_v2.c 放入 components/drivers/serial/serial_v2.c serial_v2.h 放入 components/drivers/include/drivers/serial_v2.h 修改驱动层支持 UART_V2 1. libraries/HAL_Drivers/SConscript if GetDepend(['RT_USING_SERIAL']): if GetDepend(['RT_USING_SERIAL_V2']): src += ['drv_usart_v2.c']...
在使用rt-thread的serial_v2框架时遇到了一个坑,论坛上也没说的太清楚。 起因是想将rtthread项目中的串口由v1改为v2,但是更改之后发现编译通不过,且v2和v1的一些结构体定义不同,但是在uart_config.h文件中多了引脚名字,导致编译出错。 同样,在v1版本中,驱动代码会对串口引脚进行初始化,并能找到相应初始化代码...
menuconfig RT_USING_SERIAL bool "Using serial device drivers" select RT_USING_DEVICE_IPC select RT_USING_DEVICE default y if RT_USING_SERIAL choice prompt "Choice Serial version" default RT_USING_SERIAL_V1 config RT_USING_SERIAL_V1 bool "RT_USING_SERIAL_V1" config RT_USING_SERIAL_V2 bool...
/以DMA接收及轮询发送方式打开串口设备/rt_device_open(serial,RT_DEVICE_FLAG_RX_BLOCKING|RT_DEVICE_FLAG_TX_BLOCKING); DEBUG的时候,打断点停止程序运行,让上位机一直发送数据。然后在恢复程序运行。会发现线程被挂起了。。。 这个线程使用串口V2,在接收回调函数中使用消息队列发送。线程阻塞接收。 打...
""")ifGetDepend(['RT_USING_PIN']): src += ['drv_gpio.c']ifGetDepend(['RT_USING_SERIAL']):ifGetDepend(['RT_USING_SERIAL_V2']): src += ['drv_usart_v2.c']else: src += ['drv_usart.c']ifGetDepend(['RT_USING_HWTIMER']): ...
其它未测试项:stream 支持,因为 v1 v2 只有 poll 模式支持, serialX 可以全模式支持,这一项未进行...
drv_common.c""")ifGetDepend(['BSP_USING_UART']):ifGetDepend(['RT_USING_SERIAL_V2']): src+=['drv_usart_v2.c']else: print("\nThe current project does not support serial-v1\n")Return('group')ifGetDepend(['BSP_USING_GPIO']): ...
select RT_SERIAL_USING_DMA default n config BSP_USING_UART1 bool "Enable UART1" default n config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" depends on BSP_USING_UART1 select RT_SERIAL_USING_DMA default n config BSP_USING_UART2 ...
""")ifGetDepend(['BSP_USING_UART']):ifGetDepend(['RT_USING_SERIAL_V2']):src+=['drv_usart_v2.c']else:print("\nThe current project does not support serial-v1\n")Return('group')ifGetDepend(['BSP_USING_GPIO']):src+=['drv_gpio.c']ifGetDepend(['BSP_USING_WDT']):src+=['...