迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-UART应用开发-UART驱动API接口介绍
发布时间:2025-3-24 11:14
发布者:就是塔塔
UART 驱动 API 接口如下所示,具体的 API 详见 drivers/hdf_core/framework/include/platform/uart_if.h 文件。 ![]() (1) UartOpen 在使用 UART 进行通信时,首先要调用 UartOpen 获取 UART 设备句柄,该函数会返回指定端口号的 UART 设备句柄。函数原型如下所示: DevHandle UartOpen(uint32_t port); 其中,参数 port 是 UART 设备号。UartOpen 返回值为 NULL 表示获取 UART 设备句柄失败,正常情况下返回 UART 设备句柄。 假设系统重的 UART 端口号为 4,获取该 UART 设备句柄的示例如下所示: ![]() (2) UartSetBaud 在通信之前,需要设置 UART 的波特率,函数原型如下所示: int32_t UartSetBaud(DevHandle handle, uint32_t baudRate); 其中,参数 handle 表示 UART 设备句柄,baudRate 表示待设置的波特率值。UartSetBaud 返回值为 HDF_SUCCESS 表示波特率设置成功,返回值为负数表示 UART 设置波特率失败。 (3) UartGetBaud 设置 UART 的波特率后,可以通过获取波特率接口来查看 UART 当前的波特率。函数原型如下所示: int32_t UartGetBaud(DevHandle handle, uint32_t *baudRate); 其中,参数 handle 表示 UART 设备句柄,baudRate 表示待设置的波特率值。UartSetBaud 返回值为 HDF_SUCCESS 表示获取波特率成功,返回值为负数表示 UART 获取波特率失败。 (4) UartSetAttribute 在通信之前,需要设置 UART 的设备属性。函数原型如下所示: int32_t UartSetAttribute(DevHandle handle, struct UartAttribute *attribute); 其中,handle 表示 UARt 设备句柄,attribute 表示待设置的设备属性。UartSetAttribute 返回值为 HDF_SUCCESS 表示 UART 设置属性成功,返回值为负数表示 UART 设置设备属性失败。 (5) UartGetAttribute 设置 UART 的设备属性后,可以通过获取设备属性接口来查看 UART 当前的设备属性。函数原型如下所示: int32_t UartGetAttribute(DevHandle handle, struct UartAttribute *attribute); 其中,handle 表示 UART 设备句柄,attribute 表示接收 UART 设备属性的指针。UartGetAttribute返回值为 HDF_SUCCESS 表示 UART 获取属性成功,返回值为负数表示 UART 获取设备属性失败。 (6) UartSetTransMode 在通信之前,需要设置 UART 的传输模式。函数原型如下所示: int32_t UartSetTransMode(DevHandle handle, enum UartTransMode mode); 其中,handle 表示 UART 设备句柄,mode 表示待设置的传输模式。UartSetTransMode 返回值为 HDF_SUCCESS 表示 UART 设置传输模式成功,返回值返回负数表示 UART 设置传输模式失败。 (7) UartWrite 向 UART 设备写入指定长度的数据。函数原型如下所示: int32_t UartWrite(DevHandle handle, uint8_t *data, uint32_t size); 其中,handle 表示 UART 设备句柄,data 表示待写入数据的指针,size 表示待写入数据的长度。UartWrite 返回值为 HDF_SUCCESS 表示 UART 写数据成功,返回值为负数表示 UART 写数据失败。 (8) UartRead 从 UART 设备中读取指定长度的数据,函数原型如下所示: int32_t UartRead(DevHandle handle, uint8_t *data, uint32_t size); 其中,参数 handle 表示 UART 设备句柄,data 表示接收读取数据的指针,size 表示待读取数据的长度。UartRead 返回值为非负数表示 UART 读取到的数据长度,返回值为负数,表示 UART读取数据失败。 (9) UartClose UART 通信完成之后,需要销毁 UART 设备句柄,函数原型如下所示: void UartClose(DevHandle handle); 其中,参数 handle 表示 UART 设备句柄。 |
网友评论