当前位置: 首页 > news >正文

驱动-----adc

在key1.c的基础上进行对adc1.c进行编写

首先将文件里面的key全部改为adc

                        

再修改一下设备号

按键和adc的区别是什么,按键只需要按一下就触发了,并且不需要返回一个值出来,

adc要初始化,启动,返回值

以下是裸机adc的代码:

#include <s3c2440.h>
#include "adc.h"			 void adc_init(void)
{ADCCON = (1 << 14) | (49 << 6) | (1 << 1);
}unsigned short adc_read(void)
{unsigned short data = ADCDAT0;  //读取数据,启动转换while(!(ADCCON & (1 << 15)));    //判断是否转换结束,结束后跳出while循环data = ADCDAT0 & 0x3ff;return data;
}//这是读启动,先读一下,然后启动转换,判断是否转换结束,结束后跳出循环,返回读取的数据

1.因为我们要是有寄存器,所以定义寄存器的地址,ADCCON和ADCDAT0。

2.因为ADCCON和ADCDAT0是俩个常量,所以不能直接给赋值,所以定义俩个指针变量。

给定义的这个变量赋值,使用的是ioremap,获取ADCCON的实际物理地址。

这里在注销的时候要把这个变量释放掉。

上面的裸机代码,是读启动,先读一下,然后启动转换,判断是否转换结束,结束后跳出循环,返回读取的数据,在驱动里面就不能这样了,万一转换不结束,就会一直在等,这次就不要读启动了,用手动的启动。

http://www.lryc.cn/news/473001.html

相关文章:

  • js实现点击图片,使图片跟随鼠标移动(把注释打开是图片随机位置)
  • MacOS的powermetrics命令查看macbook笔记本的耗能情况,附带查看ANE的工作情况
  • 字符串函数
  • Java数组的地址和元素访问 C语言空指针与野指针
  • 如何在Linux系统中使用SSH进行安全连接
  • Pandas 数据可视化指南:从散点图到面积图的全面展示
  • Flink + Kafka 实现通用流式数据处理详解
  • Docker常用命令汇总
  • 【Java笔记】0-为什么学习Java
  • 海外云手机是什么?对外贸电商有什么帮助?
  • 【找到了】有人知道怎么在本地用记事本方式打开Linux文本文件吗?
  • docker 安装postgresql
  • 2004至2023中国分省统计面板数据-最新出炉_附下载链接
  • 【算法】排序算法总结
  • 双11来了,云计算优惠大集合
  • 13. MapReduce自定义OutputFormat
  • Javase——正则表达式
  • 云原生文件系统之JuiceFS
  • C++:输入和输出
  • vue的路由的两种模式 hash与history 详细讲解
  • 【Linux操作系统】进程间通信之匿名管道与命名管道
  • 慢sql优化和Explain解析
  • ALIGN_ Tuning Multi-mode Token-level Prompt Alignment across Modalities
  • 【Java SE】代码注释
  • 如何在算家云搭建Llama3-Factory(智能对话)
  • 操作数据表
  • C# 实现进程间通信的几种方式(完善)
  • MySQL Workbench Data Import Wizard:list index out of range
  • 微信支付宝小程序SEO优化的四大策略
  • AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion论文阅读笔记