ADC:两种方式:1.自己配置寄存器
2.调用三星封装好的函数,这个要简单一些:
由于我们是初学,在这里我采用第一种方法进行ADC设备驱动的编写:
有很多传感器,都是经过模拟电压来反应传感器的感应值:比如说温度传感器,气体浓度传感器等。
这个要结合中断来进行ADC的值的读取:有两种方式:轮询(忙等)和中断,根据具体情况来选择方式:
配置ADC的寄存器(参数):裸板代码之前已经写过了,这里利用裸板代码为基础进行修改:
一 :裸板代码写成驱动的过程中要注意两点:第一解决物理地址到虚拟地址的映射:ioremap;第二要打开ADC的硬件时钟:
精度:10 位 12位 16位等
分频:设定ADC的采样频率
开启转换:等待ADC读取电压
等待转换结束读取ADC寄存器的值:
时钟:要打开硬件的时钟:
虚拟地址:ioremap
二:写成字符设备驱动(轮询的方式)
三:写成字符设备驱动(中断的方式)
原文:https://www.cnblogs.com/axjlxy/p/9017194.html