• 字符设备---ADC(自己配置硬件寄存器)


    ADC:两种方式:1.自己配置寄存器

            2.调用三星封装好的函数,这个要简单一些:

    由于我们是初学,在这里我采用第一种方法进行ADC设备驱动的编写:

            有很多传感器,都是经过模拟电压来反应传感器的感应值:比如说温度传感器,气体浓度传感器等。

            这个要结合中断来进行ADC的值的读取:有两种方式:轮询(忙等)和中断,根据具体情况来选择方式:

            配置ADC的寄存器(参数):裸板代码之前已经写过了,这里利用裸板代码为基础进行修改:

            一 :裸板代码写成驱动的过程中要注意两点:第一解决物理地址到虚拟地址的映射:ioremap;第二要打开ADC的硬件时钟:

              精度:10 位  12位  16位等

              分频:设定ADC的采样频率

              开启转换:等待ADC读取电压

              等待转换结束读取ADC寄存器的值:

              时钟:要打开硬件的时钟:

              虚拟地址:ioremap

            二:写成字符设备驱动(轮询的方式)

            三:写成字符设备驱动(中断的方式)

            

              

            

            

                  

    有时候,不小心知道了一些事,才发现自己所在乎的事是那么可笑。
  • 相关阅读:
    判断一个字符串之中出现次数最多的字符和它出现的次数
    冒泡排序
    vue 页面生成图片保存
    css实现0.5像素的底边框。
    web之面试常问问题:如何实现水平垂直居中?
    cocos 向左滚动公告
    SpringBoot 访问jsp文件报错Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/welcome.jsp]的解决办法
    vue 弹窗禁止底层滚动
    vue 倒计时 iOS无效
    axios之增删查改操作
  • 原文地址:https://www.cnblogs.com/axjlxy/p/9017194.html
Copyright © 2020-2023  润新知