
1.简述
本文档重要描述 N32G45x 系劣注N32G4FR 系劣注N32WB452 系劣注N32G43x 系劣注N32L40x 系劣注N32L43x 系列 MCU 的 RT_Thread 设备注册和利用例程,让使用者急剧熟悉 RT_Thread 设备驱动。
2.设备注册
2.1 I/O 设备
RT-Thread 提供了一套单一的 I/O 设备模型框架,如图 2-1 所示,它位于硬件和利用法式之间,共分成三层,从上到下别离是 I/O 设备治理层、设备驱动框架层、设备驱动层。
利用法式通过 I/O 设备治理接口获得正确的设备驱动,而后通过这个设备驱动与底层I/O 硬件设备进行数据(或节造)交互。
I/O 设备治理层实现了对设备驱动法式的封装。利用法式通过 I/O 设备层提供的尺度接口接见底层设备,设备驱动法式的升级、更替不会对上层利用产生影响。这种方式使得设备的硬件操作有关的代码可能独立于利用法式而存在,双方只需关注各自的职能实现,从而降低了代码的耦合性、复杂性,提高了系统的靠得住性。
设备驱动框架层是对同类硬件设备驱动的抽象,将分歧厂家的同类硬件设备驱动中一样的部门抽取出来,将分歧部门留出接口,由驱动法式实现。
设备驱动层是一组驱策硬件设备工作的法式,实现接见硬件设备的职能。它掌管创建和注册 I/O 设备,对于操作逻辑单一的设备,能够不经过设备驱动框架层,直接将设备注册到 I/O 设备治理器中,使用序列图如下图所示,重要有以下 2 点:
? 利用法式通过 rt_device_find() 接口查找到设备,而后使用 I/O 设备治理接口来接见硬件。
图 2-2 I/O 设备模型框架
驱动层掌管创建设备事俘,并注册到 I/O 设备治理器中,能够通过静态申明的方式创建设备事俘,也能够用下面的接口进行动态创建:
利用法式通过 I/O 设备治理接口来接见硬件设备,当设备驱动实现后,利用法式就能够接见该硬件。I/O 设备治理接口与 I/O 设备的操作步骤的映射关系如图 2-3 所示:
利用法式凭据设备名称获取设备句柄,进而能够操作设备。查找设备函数如下所示:
获得设备句柄后,利用法式可使用如下函数对设备进行初始化操作:
通过设备句柄,利用法式能够打开和关关设备,打开设备时,会检测设备是否已经初始化,没有初始化则会默认挪用初始化接口初始化设备。通过如下函数打开设备:
通过如下函数关关设备:
通过号令节造字,利用法式也能够对设备进行节造,通过如下函数实现:
利用法式从设备中读取数据能够通过如下函数实现:
向设备中写入数据,能够通过如下函数实现:
当硬件设备收到数据时,能够通过如下函数回调另一个函数来设置数据接管批示,通知上层利用线程罕见据达到:
关注微信号,惊喜等你来
x