嵌入式技术论坛
直播中

贾小龙

7年用户 1618经验值
私信 关注
[问答]

GD32F425 + rtthread5.0使用UART V2版本无法完成初始化如何解决?

环境:
系统版本:rtthread 5.0
MCU型号:GD32F425
设置MCU的UART1 为串口打印功能。
使用的serial_V2版本串口组件

问题:
在程序初始化之处,在初始化串口的时候,总是会在如下图红框处报错。
debug发现是serial->ops->transmit 为 NULL

请教各位是否知道问题所在,以及如何解决?谢谢!
1.png

回帖(1)

cherry1989

2023-9-26 10:27:46
这个问题可能是因为未正确配置串口的底层操作函数导致的。请检查在使用 serial_v2 组件时,是否正确配置了以下三个函数:

1. `void serial_hw_init(rt_device_t dev)`:用于初始化串口外设,如配置串口工作模式、波特率等参数。
2. `int serial_hw_write(rt_device_t dev, void *buffer, int size)`:用于将数据写入串口,调用底层驱动进行发送。
3. `int serial_hw_read(rt_device_t dev, void *buffer, int size)`:用于从串口中读取数据,调用底层驱动进行接收。

可以根据实际情况调试串口底层操作函数,确保其正确性。同时,也需要确保在初始化 serial_v2 组件时,正确传入了 `serial_hw_init`、`serial_hw_write` 和 `serial_hw_read` 这三个函数指针。
如果以上方法无法解决问题,请提供完整的错误信息以及代码片段,以便更好地定位问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分