ADS7886的驱动
ADS7886的驱动
这是前一篇讲微弱信号检测的文章的后续
文章目录
- ADS7886的驱动
- 一、ADS7886是什么?
- 二、如何驱动ADS7886?
- 1.看时序图
- 2.根据时序图编辑代码驱动AD
- 总结
本文主要是接着上一篇"微弱信号检测装置"的后续,继续讲一下数模转换-关于AD7886的驱动以及相关代码
一、ADS7886是什么?
ADS7886是12位,1M-MSPS 模拟-数字转换器(ADC),设备包括一个基于带有采样保持的A/D变换器的SAR电容器.每个设备的接口是由片选(控制)信号CS和时钟信号SCLK控制微处理器和数字信号处理系统相联系的免黏结逻辑,输的采样信号由CS的下降沿决定,SCLK用于转换和串行数据输出.设备工作在从2.35V至2.35V的一个广泛的供应范围设备的低功耗使它适用于电池供电的应用.
二、如何驱动ADS7886?
1.看时序图
数据手册截图如下:
2.根据时序图编辑代码驱动AD
代码如下(示例):
void ADC_init() //奔向你,奔向光{GPIO_InitTypeDef GPIO_InitStructure; //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //ʹÄÜIO¿ÚʱÖÓGPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6; //Ó³Éäµ½PB12csƬѡÐźÅÊä³ö,PB13Òý½Å,ÉèÖÃΪÊý×ÖʱÖÓÐźÅÊä³öGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //ÉèÖùܽÅΪÍÆÍìÊä³öGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //ÉèÖùܽŵķתËÙ¶ÈΪ50MHZGPIO_Init(GPIOA, &GPIO_InitStructure); //Òý½Å³õʼ»¯Íê³ÉGPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //Ó³Éäµ½PB15Òý½Å,ÉèÖÃΪģÄâÐźÅÊäÈëGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //ÉèÖùܽÅΪģÄâÊäÈëGPIO_Init(GPIOA, &GPIO_InitStructure); //Òý½Å³õʼ»¯Íê³ÉAD_7886_SCLK=1;AD_7886_CS=1; //ƬѡÐźÅÀ¸ß,adsÏÐÖÃ//µ¥Æ¬»úÊäÈëʱÖÓÐźÅÀ¸ß}u16 ADC_read_value(void) //µ÷ÓÃads¶ÁÈ¡Êý¾Ýº¯Êý{ u16 i; u16 data = 0; //¶¨ÒåÒ»¸öÎÞ·ûºÅ16λ×Ö·ûÊý¾ÝAD_7886_CS=0;for(i=0;i<16;i++) {AD_7886_SCLK=0;data=(data<<1)+AD_7886_DIN; //spi·¢ËÍÊý¾ÝÐÒéÊÇÏÈ·¢¸ßλ,ºó·¢µÍλ,ËùÒÔÒªÓÃ×óÒÆÔËË㽫Êý¾Ý·Åµ½¸ßλAD_7886_SCLK=1; }AD_7886_CS=1; //ƬѡÐźÅÀ¸ß,adsÏÐÖÃdata=data>>1; //ÒòΪADC·¢Ë͵ĵÚÒ»¸öÊý¾ÝµÄʱ¼äÌ«¶Ì,ûÓб»µ¥Æ¬»ú½ÓÊÕµ½,ËüµÄ´¥·¢Ê±¼äÔçÓÚµ¥Æ¬»úʱÖÓϽµÑصĴ¥·¢,//µ«ÊÇËüʵ¼Ê·¢ËÍÁË4¸ö0,ËùÒÔÔÚ´¦ÀíÊý¾ÝʱҪ½«Õâ¸ö0ͨ¹ýÓÒÒÆÔËËã²¹ÉÏ //²ÉÑù700´Î//Çó¾ùÖµ return data; }
因为上面的注释的文字格式不兼容,所以具体注释见图片
总结
以上就是本文主要讲的内容,代码只是把ADS7886的核心时序逻辑通过STM32F103的GPIO使能了,其他的显示和主函数部分比较简单,可以直接通过库函数调用,这里就不细说了,下期再见!
ADS7886的驱动相关推荐
- 嵌入式Linux设备驱动程序:在运行时读取驱动程序状态
嵌入式Linux设备驱动程序:在运行时读取驱动程序状态 Embedded Linux device drivers: Reading driver state at runtime 在运行时了解驱动程 ...
- 0、Spring 注解驱动开发
0.Spring注解驱动开发 0.1 简介 <Spring注解驱动开发>是一套帮助我们深入了解Spring原理机制的教程: 现今SpringBoot.SpringCloud技术非常火热,作 ...
- 安装 Python MySQL 驱动(mysql-connector-python、MySQL-python)
1. 安装 由于 MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的MySQL 驱动来连接到 MySQL 服务器. 目前,有两个MySQL驱动: mysql-co ...
- Linux驱动框架之framebuffer驱动框架
1.什么是framebuffer? (1)framebuffer帧缓冲(一屏幕数据)(简称fb)是linux内核中虚拟出的一个设备,framebuffer向应用层提供一个统一标准接口的显示设备.帧缓冲 ...
- [Ubuntu] 安装/卸载 声卡驱动
卸载 sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils 安装 sudo apt-get install linux-s ...
- pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装
一.前言描述 接到客户报修说,电脑无法开机,即到哥上门维修立即安排人员到现场查看原因,到现场后,查看的确是电脑系统问题,重新安装系统,安装完成系统后,发现打印机无法使用.这个打印机型号是TSC TTP ...
- linux mipi驱动分析_寒武纪社招内推数字IC设计、DSI驱动、软件架构、产品经理、芯片架构、工具链开发、深度学习、FAE工程师...
点击上方蓝字关注我吧! 为什么内推更靠谱?内推是基于人脉关系链的推荐,其背后有一定的信用背书,靠谱的人推荐的人相对也会比较靠谱,所以企业一般职位都是从内部开始分享的,相较于自己海投简历,内推的效率和成 ...
- i7 7700hq安装Linux,黑苹果安装火影金刚4K VULCAN JinGang GTX i7-7700HQ 独显驱动 Hackintosh...
严格来说,这不是一台笔记本,更像是一台移动一体机.火影金刚4K,独显GTX 1060,核显HD 630,在BIOS里是可以屏蔽核显的.所以这一次安装黑苹果时,直接当是一台IMAC来安装,连机型都是选择 ...
- java获取达梦数据库_Java连接达梦数据库驱动dm_jdbc
[实例简介] Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm ...
最新文章
- 想知道什么是“成员变量”吗?
- 《JavaScript高级程序设计》读书笔记【一】
- 公元2019年,你对AI的信任有几分?
- nginx多站点配置,以及隐藏index.php
- 柏林噪声产生火焰等纹理
- Linux 高可用(HA)集群之Pacemaker详解
- 变相裁员??全员营销!程序员被要求卖房~
- Multiple substitutions specified in non-positional format; did you mean to add the fo
- 游标sql server_学习SQL:SQL Server游标
- 微信小程序实现浮动按钮
- Java并发编程之volatile关键字解析
- 自动生成小学四则运算题目(加强版)
- PyHook3 的下载与安装
- Abis接口的概念和引发的商业策略
- 智能手环开发之 实现蓝牙(BLE)基本功能
- 关于OpenCV中cv2.imwrite保存的图片是全黑色的解决方案
- sdutacm-小雷的冰茶几
- 微信企业付款转账到微信
- python function gamma_Python math gamma()用法及代码示例
- 中序和后序(前序和中序)序列确定一颗二叉树
热门文章
- 常用的数控刀具牌号,买刀的时候少走弯路
- 计算机毕业设计 SSM+Vue美容院管理系统 美容护理管理系统 美容店系统管理Java Vue MySQL数据库 远程调试 代码讲解
- HTML 前端 flex宫格布局
- easyUI布局篇使用jquery easy UI的panel和layout实现界面的自适用窗口
- 外设测试 - RTC 测试
- 备考托福大揭秘:近满分学习之道
- 国企招聘: 中国雄安集团2023校园招聘,面向全国,不限户籍
- [ORACLE] ORA-01078 LRM-00109 错误解决方案
- 如何从零开始构建深度学习项目?这里有一份详细的教程
- ebay注册流程_ebay注册流程