ADC位数、增益调制与参考电压

位数:12bit、10bit、8bit

一般就是对应的ADC值分别为:4095、1023、255,也就选用对应位数时ADC的最大值。

增益的作用

增益设置用于放大或缩小输入信号,使其适配到ADC的输入范围。增益设置可以通过配置SAADC的通道配置寄存器来实现。nRF52840支持的增益设置包括以下几种:

  • 1/6
  • 1/5
  • 1/4
  • 1/3
  • 1/2
  • 1
  • 2
  • 4

参考电压

nRF52840的SAADC支持内部参考电压和外部参考电压。内部参考电压通常为0.6V,外部参考电压可以通过外部引脚提供。默认情况下,内部参考电压是0.6V,并且通过增益配置进一步调整。

增益与参考电压的关系

增益与参考电压共同决定了ADC输入信号的电压范围。例如,当使用内部参考电压0.6V时,不同的增益设置会改变ADC的实际输入范围。

假设使用内部参考电压0.6V,增益设置为1/6,那么输入信号的实际电压范围为:

如果增益设置为1,则输入信号的实际电压范围为:

因此,增益设置决定了参考电压如何扩展到输入信号范围。也就是设置参考电压就是大于你检测口的输入电压。

#include <stdbool.h>
#include <stdint.h>
#include "nrf_drv_saadc.h"
#include "app_error.h"
#include "boards.h"
#include "nrf_delay.h"
#include "app_util_platform.h"AIN0: 映射到引脚P0.02。
AIN1: 映射到引脚P0.03。
AIN2: 映射到引脚P0.04。
AIN3: 映射到引脚P0.05。
AIN4: 映射到引脚P0.28。
AIN5: 映射到引脚P0.29。
AIN6: 映射到引脚P0.30。
AIN7: 映射到引脚P0.31。// SAADC事件处理函数
void saadc_callback(nrf_drv_saadc_evt_t const * p_event)
{// 在此处处理SAADC事件
}void saadc_init(void)
{ret_code_t err_code;nrf_drv_saadc_config_t saadc_config = NRF_DRV_SAADC_DEFAULT_CONFIG;saadc_config.resolution             = NRF_SAADC_RESOLUTION_12BIT;saadc_config.oversample             = NRF_SAADC_OVERSAMPLE_DISABLED;saadc_config.interrupt_priority     = 6;                    saadc_config.low_power_mode         = 0;  // 配置SAADC通道nrf_saadc_channel_config_t channel_config =NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN0);// 修改增益设置为1,以适应较大的输入范围channel_config.gain = NRF_SAADC_GAIN1;// 初始化SAADCerr_code = nrf_drv_saadc_init(&saadc_config, saadc_callback);APP_ERROR_CHECK(err_code);// 初始化SAADC通道err_code = nrf_drv_saadc_channel_init(0, &channel_config);APP_ERROR_CHECK(err_code);
}int main(void)
{// 初始化板子上的LED和按钮bsp_board_init(BSP_INIT_LEDS);// 初始化SAADCsaadc_init();// 配置一个变量来存储ADC结果nrf_saadc_value_t adc_value;while (true){// 启动SAADC转换并读取值ret_code_t err_code = nrf_drv_saadc_sample_convert(0, &adc_value);APP_ERROR_CHECK(err_code);// 将ADC值转换为电压float voltage = (adc_value / 4095.0) * 0.6; // 0.6V为参考电压// 在此处可以使用转换后的电压值// 例如:通过串口输出电压值// LED闪烁表示程序正在运行bsp_board_led_invert(BSP_BOARD_LED_0);nrf_delay_ms(500);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/36731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vscode lanuch.json

Intro 使用launch.json 能够方便的运行需要传很多参数的代码文件 如下&#xff1a; import math import argparse # 1、导入argpase包def parse_args():parse argparse.ArgumentParser(descriptionCalculate cylinder volume) # 2、创建参数对象parse.add_argument(--rad…

怎么处理整合了shiro的应用的RPC接口鉴权问题

这篇文章分享一下&#xff1a;当一个服务提供者整合了shiro安全框架来实现权限访问控制时&#xff0c;服务消费者通过feign请求服务提供者的接口时的鉴权不通过问题。 问题描述 博主有一个项目pms&#xff08;权限管理系统&#xff09;&#xff0c;使用了shiro框架来实现鉴权功…

【免费可视化工具】智慧港口全景监测大屏引领行业变革

在传统的港口运营中&#xff0c;人们往往要面对繁琐的数据、复杂的流程和不确定的风险。但随着科技的发展&#xff0c;智慧港口全景监测大屏&#xff0c;集数据整合、实时监控、智能分析于一体&#xff0c;为港口运营提供了全新的解决方案。 今天要说的是山海鲸可视化搭建的智慧…

Android 通知组

一. 通知组简介 从 Android 7.0&#xff08;API 级别 24&#xff09;开始&#xff0c;您可以在一个组中显示相关通知。如下所示: 图 1. 收起&#xff08;顶部&#xff09;和展开&#xff08;底部&#xff09;的通知组。 注意 &#xff1a;如果应用发出 4 条或更多条通知且未…

Django(根据Models中模型类反向生成数据库表)—— python篇

一、数据库的配置 1、 django默认支持 sqlite&#xff0c;mysql, oracle,postgresql数据库。 sqlite&#xff1a;django默认使用sqlite的数据库&#xff0c;默认自带sqlite的数据库驱动 , 引擎名称&#xff1a;django.db.backends.sqlite3 mysql&#xff1a;引擎名称&#xff…

解决Transformer根本缺陷,所有大模型都能获得巨大改进

即使最强大的 LLM 也难以通过 token 索引来关注句子等概念&#xff0c;现在有办法了。 最近两天&#xff0c;马斯克和 LeCun 的口水战妥妥成为大家的看点。这两位 AI 圈的名人你来我往&#xff0c;在推特&#xff08;现为 X&#xff09;上相互拆对方台。 LeCun 在宣传自家最新论…

leetcode 动态规划(基础版)单词拆分

题目&#xff1a; 题解&#xff1a; 一种可行的dp做法是基于完全背包问题&#xff0c;将s看成是一个背包&#xff0c;wordDict看作是物品&#xff0c;然后往s中放入物品判断最终是否可以变为给定的s即可。这道题和上一题都用到了在dp如何枚举连续子串和状态表示&#xff1a;枚…

Golang 百题(实战快速掌握语法)_2

返回集合中满足指定条件的最后一个元素 本实验将实现判断给定集合中的元素是否符合&#xff0c;并返回符合的最后一个元素。 知识点 forfmt.Error 适合人群 本课程属于基础课程。需要用户掌握 Go 语言编程基础知识、计算机基础知识和 Linux 环境的基本用法。 许可证 内容…

潮玩手办盲盒前端项目模版的技术探索与应用案例

一、引言 在数字化时代&#xff0c;随着消费者对个性化和艺术化产品的需求日益增长&#xff0c;潮玩手办和盲盒市场逐渐崭露头角。为了满足这一市场需求&#xff0c;前端技术团队需要构建一个功能丰富、用户友好的在线平台。本文旨在探讨潮玩手办盲盒前端项目模版的技术实现&a…

FuTalk设计周刊-Vol.025

&#x1f525;&#x1f525;AI漫谈 热点捕手&#x1f525;&#x1f525; 1、耗时半年&#xff0c;实地调研&#xff01;泣血2万字&#xff0c;破除你的人工智能焦虑《2023最全AI商业落地调研报告》 链接https://www.bilibili.com/video/BV1YB4y1f7GE?share_sourcecopy_web &…

Vue3路由守卫的理解

官网:导航守卫 | Vue Router 目录 1.路由类型 1.1导航守卫 1.2路由独享 1.3组件内守卫 2.路由元信息 1.路由类型 1.1导航守卫 全局 :所有路由都会触发 router.beforeEach((to,from,next)>{}) router.afterEach((to,form,next)>{}) 1.2路由独享 路由表中的组件 be…

计算机公共课面试常见问题:线性代数篇

目录 1. 特征向量和特征值代表什么含义&#xff1f; 2. 矩阵的秩是什么&#xff1f;满秩代表什么&#xff1f;不满秩呢&#xff1f; 3. 奇异值分解是什么&#xff1f; …

2024上海初中生古诗文大会倒计时4个多月:真题示例和独家解析

现在距离2024年初中生古诗文大会还有4个多月时间&#xff0c;我们继续来看10道选择题真题和详细解析&#xff0c;以下题目截取自我独家制作的在线真题集&#xff0c;都是来自于历届真题&#xff0c;去重、合并后&#xff0c;每道题都有参考答案和解析。 为帮助孩子自测和练习&…

改变AI历史的Transformer是如何帮助LLM大模型工作的?看图解密Transformer原理,看不懂算我输!

在过去的几年里&#xff0c;大型语言模型(LLM)的出现&#xff0c;为长达数十年的智能机器构建的探索中带来了巨大的飞跃。 这项基于试图模拟人类大脑的研究技术&#xff0c;也在近几年催生了一个新领域——Generative AI 生成式人工智能&#xff0c;简单理解就是可以 通过模仿…

llama-3 本地化部署实验

国产大模型的API 有限&#xff0c;编写langchain 应用问题很多。使用openai 总是遇到网络问题&#xff0c;尝试使用ollama在本地运行llama-3。结果异常简单。效果不错。llama-3 的推理能力感觉比openai 的GPT-3.5 好。 Ollama 下载 官网&#xff1a;https://ollama.com/downl…

武汉凯迪正大—漆包圆线软化击穿试验仪 漆包线检测仪器

产品功能 武汉凯迪正大电气有限公司生产KDZD-JC软化击穿试验仪用于检测3.00mm及以下漆包线在热状态下漆膜软化后的绝缘性能&#xff0c;根据设定的预热温度、试验时间、仪器自动完成对试样的预加热、加负荷、加试验电压&#xff0c;达到试验时间或试样被击穿时即卸负荷&#x…

基于ARM的通用的Qt移植思路

文章目录 实验环境介绍一、确认Qt版本二、确认交叉编译工具链三、配置Qt3.1、修改qmake.conf3.2、创建autoConfig.sh配置文件 四、编译安装Qt五、移植Qt安装目录六、配置Qt creator6.1、配置qmake6.2、配置GCC编译器6.3、配置G编译器6.4、配置编译器套件6.5、创建应用 七、总结…

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章 什么是Linux? Linux 是 UNIX 操作系统的一个克隆&#xff1b;它由林纳斯 本纳第克特 托瓦兹从零开始编写&#xff0c;并在网络上众多松散的黑客团队的帮助下得以发展和完善&#xff1b;它遵从可移植操作系统接口&#xff08;POSIX&#xff09;标准和单一 UNIX 规范…

PLC数据采集案例

--------天津三石峰科技案例分享 项目介绍 项目背景 本项目为天津某钢铁集团下数字化改造项目&#xff0c;主要解决天津大型钢厂加氢站数字化改造过程中遇到的数据采集需求。项目难点PLC已经在运行了&#xff0c;需要采集里面数据&#xff0c;不修改程序&#xff0c;不影响P…

智能农业技术:物联网、无人机与机器人引领的绿色革命

在这个信息化与智能化并行的时代&#xff0c;农业——这个最古老的人类产业&#xff0c;正经历一场前所未有的科技变革。物联网&#xff08;IoT&#xff09;、无人机&#xff08;UAV&#xff09;和机器人技术的深度融合&#xff0c;正逐步构建起一个高效、精准、可持续的现代农…