长春做网站长春网站设计浙江省龙泉市建设局网站
news/
2025/9/22 20:22:43/
文章来源:
长春做网站长春网站设计,浙江省龙泉市建设局网站,建站快车是什么,wordpress后台入口目录 一、UART 概述二、UART 模块相关API三、UART 接口调用实例四、UART HDF驱动开发4.1、开发步骤(待续...) 坚持就有收获 一、UART 概述
UART 是通用异步收发传输器#xff08;Universal Asynchronous Receiver/Transmitter#xff09;的缩写#xff0c;是通用串行数据总… 目录 一、UART 概述二、UART 模块相关API三、UART 接口调用实例四、UART HDF驱动开发4.1、开发步骤(待续...) 坚持就有收获 一、UART 概述
UART 是通用异步收发传输器Universal Asynchronous Receiver/Transmitter的缩写是通用串行数据总线用于异步通信该总线双向通信可以实现全双工传输。UART 应用比较广泛常用于输出打印信息也可以外接各种模块如 GPS、蓝牙等。
异步通信
异步通信中数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收这两个时钟源彼此独立互不同步。异步通信以一个字符为传输单位通信中两个字符间的时间间隔是不固定的然而在同一个字符中的两个相邻位代码间的时间间隔是固定的。
全双工传输Full Duplex
此通信模式允许数据在两个方向上同时传输它在能力上相当于两个单工通信方式的结合。全双工可以同时进行信号的双向传输。
UART 设备的连接示意图如下 TX发送数据端和对端的 RX 相连。RX接收数据端和对端的 TX 相连。RTS发送请求信号用于指示本设备是否准备好可以接收数据和对端 CTS 相连。CTS允许发送信号用于判断是否可以向对端发送数据和对端 RTS 相连。
UART 通信之前收发双方需要约定好波特率、数据格式。
波特率指信息传输到信道的速率。例如9600、961200、115200 等。数据格式一帧数据由起始位、数据位、校验位、停止位组成。
UART 通信过程中UART 通过 TX 发送数据给对端通过 RX 接收对端数据。当 UART 接收缓存达到预定的门限值时RTS 变为不可发送数据对端的 CTS 检测到不可发送数据的信号则停止发送数据。
UART 在进行数据传输时的数据格式如下 UART 操作流程如下 二、UART 模块相关API
头文件路径base/iothardware/peripheral/interfaces/inner_api/iot_uart.h
接口函数描述unsigned int IoTUartInit(unsigned int id, const IotUartAttribute *param);初始化UARTunsigned int IoTUartDeinit(unsigned int id);清除初始化UARTint IoTUartWrite(unsigned int id, const unsigned char *data, unsigned int dataLen);UART写操作int IoTUartRead(unsigned int id, unsigned char *data, unsigned int dataLen);UART读操作
三、UART 接口调用实例
//代码功能定义了 UART 接口功能以及 UART 相关参数GPIO_00 号口作为 UART1_TXD 模式以及 UART 相关参数最后进行读写操作。#include iot_uart.h
IotUartAttribute uart_attr {
.baudRate 9600, //波特率
.dataBits 8, //数据位
.stopBits 1, //停止位
.parity 0, //优先级
};IoTUartInit(UART1_TXD, uart_attr);
IoTUartWrite(UART1_TXD, data, strlen(data));
IoTUartRead(UART1_TXD, buff, BUFF_SIZE);
四、UART HDF驱动开发
在HDF框架中UART接口适配模式采用独立服务模式如图3所示。在这种模式下每一个设备对象会独立发布一个设备服务来处理外部访问设备管理器收到API的访问请求之后通过提取该请求的参数达到调用实际设备对象的相应内部方法的目的。独立服务模式可以直接借助HDF设备管理器的服务管理能力但需要为每个设备单独配置设备节点增加内存占用。
独立服务模式下核心层不会统一发布一个服务供上层使用因此这种模式下驱动要为每个控制器发布一个服务具体表现为
驱动适配者需要实现HdfDriverEntry的Bind钩子函数以绑定服务。
device_info.hcs文件中deviceNode的policy字段为1或2不能为0。
UART模块各分层作用
接口层提供打开UART设备、UART设备读取指定长度数据、UART设备写入指定长度数据、设置UART设备波特率、获取设UART设备波特率、设置UART设备属性、获取UART设备波特率、设置UART设备传输模式、关闭UART设备的接口。
核心层主要提供UART控制器的创建、移除以及管理的能力通过钩子函数与适配层交互。
适配层主要是将钩子函数的功能实例化实现具体的功能。
图 3 UART独立服务模式结构图 4.1、开发步骤(待续…)
UART模块适配包含以下四个部分。
驱实例化驱动入口配置属性文件实例化UART控制器对象驱动调试
坚持就有收获
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910257.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!