一起学nRF51xx 16 -  adc

2023-11-13

前言

nRF51的ADC设计得比较简单,它有几个可配置的部分:

1)PSEL(pinselection):nRF51系列芯片有8个模拟输入通道,并且这几个脚是固定的,不能像GPIO那样可以重新映射。PSEL用来选择需要采集模拟电压的通道,当该通道被选中,引脚上的模拟电压将会输入到芯片内部。

对于QFN48引脚封装,ADC通道对应的引脚为:

2)INPSEL(inputselection):用来选择输入的信号源。信号源可以是VDD,也可以是AIN[n]引脚的输入。输入还可以是VDD和AIN[n]的1/3、2/3分压。

3)RES(resolution):ADC精度配置,可以配置成8BIT、9BIT、10BIT。

4)REFSEL(referenceselection):参考电压选择,可以选择内部VDD、外部AREF[n]、内部1.2VVBG。

5)EXTREFSEL(externalreferenceselection):外部参考电压选择,可选的有AREF1和AREF0。

 

本节介绍nRF51系列SOCAD转换器的使用。本例程把采集到的值通过串口打印输出。

 

示例详解

基于硬件平台:nrf51822ek_tm开发板。

 

本示例所用的最小系统板原理图:

 

    1. 工程创建:
      1. 打开KEIL,新建一个空工程:Project->NewuVisionProject

工程名为nrfxx-adc确认后按下图选择芯片为nrf51822_xxAA->ok

在弹出的对话框中勾选CMSIS中的CORE;Device中的Startup(后面有nrf51Series字样的);在nrf_device中勾选nrf_gpio, nrf_uart, nrf_adc ,nrf_delay,nrf_err并在nrf_Libraries中勾选app_error,nrf_assert模块。

 

 

 

OK之后工程自动生成如下代码:

新建一个空白文档,保存为main.c,并加入工程中:

配置工程,选择使用MicroLIB库,可以减小程序体积:

加入NRF51定义,并选择化等级3,可以减小程序体积,但仿真运行时可能会出现与代码顺序不一致现象:

 

调试工具选择J-LINK,并将接口设置为SW口勾选下载程序后自动复位及运行:

 

 

    1. 工程代码
      1. OK之后在man.c中加入如下代码:

      把程序编译,可以看到串口助手中打印了以下输出内容:

关于nrf51xx及flash的更详细介绍可以参看《nRF51822_PS_v3.3.pdf》或https://infocenter.nordicsemi.com/index.jsp

 

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,会有不定期技术干货推出!!

文中源码资料下载,在公众号里给十三发消息:

下载|一起学nRF51xx 16

 

关注十三公众号

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一起学nRF51xx 16 -  adc 的相关文章

  • 【内网穿透】远程访问后端编写中的接口,可用于前后端Swagger远程调试,和https微信开发测试

    之前在家和项目组的同学分开了 无法在同一个路由下通过访问局域网下的ip进行接口对接 只有借助第三方工具 开进行远程访问 NATAPP 我们可以在这个网址购买隧道 与自己电脑上配置后 便可以远程发问idea项目运行的的链接 其次由于连接支持h
  • 海康SDK:C3690 应该为字符串文本,但找到的是用户定义的字符串文本; C4430 缺少类型说明符 - 假定为 int

    海康SDK C 严重性代码说明项目文件行禁止显示状态错误 C3690 应该为字符串文本 但找到的是用户定义的字符串文本 Alarm严重性代码 说明 项目 文件行禁止显示状态错误 C4430 缺少类型说明符 假定为 int 注意 C 不支持默
  • JS面试——宏任务与微任务

    JavaScript的宏任务与微任务 1 问题的由来 2 JavaScript的宏任务与微任务 2 1promise的使用方法 2 2async与await的使用方法 3 面试题实战分析 程序执行顺序 参考文献 1 问题的由来 我相信 你也
  • GAMES101笔记_Lec07~09_着色 Shading

    0 我们已经学了什么 What We ve Covered So Far 空间中定义了一个摄像机 通过某些变换使模型摆好姿势 Model 通过观测变换让摄像机放在原点 得到标准的 1 1
  • EL&&JSTL

    一 JSP技术 1 jsp脚本和注释 jsp脚本 1 内部的java代码翻译到service方法的内部 2 会被翻译成servlet的成员的内容 jsp注释 不同的注释可见范围是不同 1 Html注释 可见范围 jsp源码 翻译后的serv
  • 【C++入门】C++和C语言比较:新增的和有变化的关键字

    1 新增bool关键字 1 1 C语言的bool类型 define true 1 define false 0 C语言中的bool类型 typedef int bool 1 bool类型也叫逻辑类型 只存在两个值 true和false tr
  • Java中的反射(一)

    一 反射概念 反射 简单来说就是分析类信息的能力 类信息包括属性 方法 构造器等 Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息 从而操作类或对象的属性和方法 本质是JVM得到类对象之后 再通过类对象进行反编译 从而获取对
  • discuz应用中心,discuz应用中心问题解决

    discuz应用中心 在很久很久以前 站长们想装个插件 装个模板很费力气的 首先是要去找 找到后不知道怎么装 装上后不满意卸载也很麻烦 不过 以后这种情况就会大大的改善了 因为discuz应用中心 可以让站长们快速找到想要的插件 安装插件变
  • 【深度学习目标检测系列 - 01】目标检测是什么

    目标检测 Object Detection 一直以来都是深度学习领域的热门话题 这个系列的文章会对其进行详细的梳理 1 目标检测是什么 图像分类任务回答的是 图像中的物体是什么 而目标检测任务回答的是 图像中的物体是什么 它处于图像的什么位
  • 【S5P6818】最小文件系统制作

    00 目录 文章目录 00 目录 01 BusyBox概述 02 下载BusyBox 03 编译BusyBox 04 最小文件系统制作 05 设置开发板参数 06 讨论 07 附录 01 BusyBox概述 BusyBox 是一个集成了三百
  • 2019年9月25日星期三(STM32 ucos3)

    一 UCOS 1 概念 uc OS III Micro C OS Thee 微型C语言编写的操作系统第三版 是一个可升级 可固化 多任务基于优先级的可抢占式实时内核 ucos的任务个数不限制 实现了操作系统所需求的大部分功能 资源管理 同步
  • C++ 左值引用 和 右值引用

    C 左值引用 和 右值引用 左值 右值是什么 左值引用 右值引用 参考 总结 左值 右值是什么 表达式的分类图 mermaid svg eHEtnhMOW8UctFkd label font family trebuchet ms verd
  • StringBuffer内容清空效率比较

    在开发程序的时候 经常使用StringBuffer来进行字符串的拼接 如果在循环中来反复的做字符串拼接时 会清空Stringbuffer中的内容 然后再拼接新的字符串信息 例如 StringBuffer sb new StringBuffe
  • 刺激战场服务器无响应ios,绝地求生刺激战场IOS系统更新后玩不了 绝地求生刺激战场苹果手机更新后进不去...

    导 读 相信有不少的绝地求生刺激战场的IOS玩家们在本次的IOS系统更新后玩不了 这可让许多的苹果党们大为的苦恼 因此下面就来为各位针对绝地求生刺激战场苹果手机更新后进不去的问题做一个解决方案 希望能够帮到各 相信有不少的绝地求生刺激战场的
  • 基于VGG-Face的年龄估计(论文总结与代码解释)

    目录 1 本文改进 2 模型结构 3 训练模型 4 预测数据 5 实验结果 6 模型比较 7 结论分析 8 数据集分析 9 完整代码 1 本文改进 本文主要是使用VGG Face模型 卷积层不变 改变全连接层 在Adience数据库上进行年
  • 项目规模估计方法介绍

    项目成本估算是对完成项目工作所需要的 费用进行估计和计划 是 项目计划中的一个重要组成部分 要实行 成本控制 必须先估算 费用 费用估算过程实际上是确定完成项目全部工作活动所需要的资源的一个费用估计值 这是一个近似值 既可以用货币单位表示

随机推荐

  • http1 & http2 发展与特性

    Http http协议已经被广泛应用在web应用中 常用于一下几种场景 聊天 全双工 客户端和服务器实时通信 推送 服务器主动向客户端通信 应答 传统模式 客户端发起请求 服务器响应 长连接 TCP Http协议本身就是基于请求 应答模式的
  • Node.js(二十五)

    Node js 连接 MongoDB MongoDB是一种文档导向数据库管理系统 由C 撰写而成 本章节我们将为大家介绍如何使用 Node js 来连接 MongoDB 并对数据库进行操作 如果你还没有 MongoDB 的基本知识 可以参考
  • Oracle查询表占用的空间(表大小)

    Oracle查询表占用的空间 表大小 Oracle查询表占用的空间 表大小 一 方法一 使用dbms space包的object space usage函数来查表大小情况 二 方法二 查dba extents视图 三 方法三 查dba se
  • Android实现空间不够,自动换行

    复制粘贴修改文件名即可用 自己新建MyFlowLayout的java文件 package com example myapplication view import android content Context import androi
  • 前端Gzip优化

    gZip GZIP是网站压缩加速的一种技术 对于开启后可以加快我们网站的打开速度 原理是经过服务器压缩 客户端浏览器快速解压的原理 可以大大减少了网站的流量 在 http 1 0 协议中关于服务端发送的数据可以配置一个 Content En
  • DMNet复现(二)之模型篇:Density map guided object detection in aerial image

    以前用Swin Transformer Tiny训练了40epoch的 官方用的Faster RCNN 这里先用Swin Transformer Tiny进行测试 模型训练 采用基于MMDetection的框架Swin Transforme
  • I2C的C语言实现

    I2C的C语言实现 起始信号 停止信号 应答信号ACK与非应答信号NACK 等待ACK信号 发送一个字节 读取一个字节 单字节写入 读取 连续写入 读取 起始信号 当SCL为高期间 SDA由高到低的跳变 void I2C Start voi
  • 在Mac OS环境安装Composer

    简介 Composer 是 PHP 的一个依赖管理工具 安装流程 打开终端 输入下面指令 进入用户根目录 cd 执行安装指令 php r readfile https getcomposer org installer gt compose
  • 2023年数学建模:基于模拟退火算法的旅行商问题求解

    订阅专栏后9月比赛期间会分享思路及Matlab代码 目录 一 模拟退火算法的基本原理 二 实战案例 旅行商问题
  • YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大

    本次改进使用最新的注意力机制EMA改进YoloV8 我们一起来看看效果吧 论文翻译 摘要 https arxiv org ftp arxiv papers 2305 2305 13563 pdf 在各种计算机视觉任务中 通道或空间注意力机制
  • Python3 数据挖掘系统搭建(四)

    上一节学习了数据清洗如何对内容去重 这一节继续学习一个完整的挖掘系统是怎么构建的 以搜索百度新闻数据为例 首先要建立评分系统需要创建一个数据表 起名为article吧 字段如下图 字段有company title href source d
  • 6-Mysql子查询,多表连接(内连接,外连接,交叉连接)

    子查询 select from 学生表 查询高技2班的学生信息 select from 班级表 1 子查询当做查询条件的一部分 select from 学生表 where 班级ID in select 班级ID from 班级表 where
  • java heap space默认值_java heap space解决方法

    java heap space解决方法 在JVM中如果98 的时间是用于GC Garbage Collection 且可用的 Heap size 不足2 的时候将抛出异常信息 java lang OutOfMemoryError Java
  • OpenGL 7.测试框架,批渲染

    测试功能基类 本节搭建一个简单的测试框架 实现在窗口上显示一个菜单栏 点击不同的选项 进入不同的功能 附加目录中添加src 方便添加头文件 新建目录如下 测试基类 Test h 测试菜单TestMenu 用于管理所有的测试 pragma o
  • matlab 波形仿真,MATLAB仿真波形的处理

    MATLAB仿真波形的处理 由会员分享 可在线阅读 更多相关 MATLAB仿真波形的处理 14页珍藏版 请在人人文库网上搜索 1 示波器波形的处理1 示波器介绍首先介绍示波器的基本功能 对Simulink Model 搭建的模型 进行仿真之
  • C#知识系列:paritial class必须是同一个程序集,否则引用别的程序集的paritial class会报错

    C 知识系列 paritial class必须是同一个程序集 否则引用别的程序集的paritial class会报错 提示 A程序集的xxxx cs与B程序集的xxxx cs冲突 请使用A程序集的xxxx cs
  • RTK系列【1】小日子RTKLIB 2.4.3 b34 源码与算法研究(单点定位调试)

    小日子RTKLIB源码研究 1 VS2017下发现的一些bug 1 1 SPP 单点定位 1 1 1 问题描述 Run Time Check Failure 3 The variable dion is being used without
  • 客户下单软件

    一 订货系统后台能否通过手机进行操作 问 订货系统后台能否通过手机进行操作 我们购买订货系统后能不能通过手机操作订货企业后台 答 订货系统有手机版本和APP 可通过手机操作 二 订货系统企业后台能否及时了解到客户的欠款信息 小程序公司订单管
  • cocosCreator IOS 微信授权

    官方文档 iOS接入指南 微信开放文档 1 把你的项目构建ios版包 使用Xcode 打开 2 首先呢 我们进入微信开发者平台 选择到官方的ios 接入指南项 点击 资源下载页 下载 demo 然后把demo 中的SDKexport 文件直
  • 一起学nRF51xx 16 -  adc

    前言 nRF51的ADC设计得比较简单 它有几个可配置的部分 1 PSEL pinselection nRF51系列芯片有8个模拟输入通道 并且这几个脚是固定的 不能像GPIO那样可以重新映射 PSEL用来选择需要采集模拟电压的通道 当该通