驱动程序编程常用方法

 时间:2024-09-23 06:35:52

驱动程序按照一定的组织方式编写能够让编程者调理清晰,使用者一目了然,更有利于程序的阅读和移植。一般常见做法有如下几种。

工具/原料

电脑

使用宏定义映射器件的地址、寄存器、寄存器值以及其他常量

1、程序中常常需要操作寄存器,如果直接用数字(一般是16进制)表示,编程者和阅读者都需要不断查手册才能了解操作这个寄存器的作用,如果用有意义的宏表示,能够更加直观清楚的表示操作的含义和作用。用宏表示器件地址使用宏表示器件地址是最常用的手段,这样如果地址变化,只需修改这一处即可。

驱动程序编程常用方法

2、宏表示寄存器地址将寄存器用宏表示使用起来更加方便、利于阅读。

驱动程序编程常用方法

3、宏表示寄存器值很多时候、一个寄存器不同的位表示不同器件不同的状态和功能、将所有功能和状态用宏表示可以大大方便编程者,省去很多查手册和计算工作。这个使用的最为频繁,不管是cpu还是传感器都会用到。

驱动程序编程常用方法

4、宏表示其他常量

驱动程序编程常用方法

封装好底层通讯接口函数

1、一琐绔纠滴般外部器件与cpu都以一种特定的通讯方式进行信息的交换,嵌入式产品中,常用的通讯方式有I2C、UART、SPI等通用标准溅局柑氍以及一些特殊器件的特殊通讯方式。所以在实现器件功能之前完成其通讯桥梁的搭建是非常重要的工作。以I2C为例,嵌入式中的基本单位一般都是字节,首先需要实现一个字节的接收和发送,有些cpu带i2c控制器,已经将这步实现,而且有可能支持多字节的发送接收,如果是用gpio端口软件模拟需要根据i2c的时序进行程序的编写;接下来实现多字节读写操作的函数,有些cpu读写个数有限制,所以还需要进一步封装实现任意个数的函数。有些器件可能是16位寄存器地址或者32位寄存器地址,所以还要针对这些特殊情况封装对应得函数。这部分不同平台实现不同,根据具体情况操作。

驱动程序编程常用方法

写好延时函数

1、在嵌入式系统中,延时函数非常重要,数字电路中的所有器件都在按照一定的时序有序稳定的皤材装肢工作,一旦时序不对或者延时不准确都会导致功能无法实现。一般延时函数需要两个:毫秒延时函数和温筝皇庥微妙延时函数。在支持操作系统的系统中,延时函数可以用程序调度的tick实现,但最好使用cpu的硬件定时器来实现。

驱动程序编程常用方法

对器件功能函数进行封装

1、这些函数就是提供给上层的接口,一般包括初始化函数、电源功耗控制函数、获取数据函数,固件升级函数、获取器件信息函数等等。不同器件函数不同,根据实际情况进行封装。为了便于移植,(其他好处还不清楚)可以建立一个接口函数结构,这样只需将该结构的指针传给上层即可。

驱动程序编程常用方法

驱动程序编程常用方法

支持精密单点定位的RTK定位模块选型要点分析 XP怎样开启mysql服务 怎么查看python的内置函数以及相关的内置库 普通cad里如何插入图,并将图中要素与cad对齐? XMind如何恢复默认视图大小
热门搜索
旋风少女主题曲 车标志识别图片大全图片 浴室少女 少女前线官网 竖琴图片