关于tresos Studio(EB)的MCAL配置之ADC

news2024/12/23 13:10:05

General

a9001b644d6e4b53b37cee65c5190cff.png 

Adc_DeInit API 使能Adc_DeInit接口

Adc Development Error Detection 开发者错误检测

Adc Enable Limit Check边界检测

Adc Queue启用队列,如果AdcPriorityImplementation=ADC_PRIORITY_HW_SW执行优先级为硬件则一定要开启队列

Adc_StartStopGroup API使能Adc_StartGroupConversion接口

Adc Notification Capability启用通知机制

Adc Hw Trigger  API使能Adc_EnableHardwareTrigger和Adc_DisableHardwareTrigger硬件触发接口

Adc Priority Mechanism选择转换优先级机制。可以选择无优先级/硬件/硬件和软件混合。

Adc_ReadGroup API使能Adc_ReadGroup接口

Adc Result Alignment转换结果对齐方式

Adc_VersionInfo API获取版本信息

ADC Direct DMA Result Buffer Copy直接将转换结果复制到用户指定的缓冲区

Adc Timeout如果ADC硬件超过这个时间未进入空闲状态就报错

50685e98e4ef4a1595cfdb17b3fd5c6b.png 

Adc Channel Value Signed转换结果数值是有符号是无符号

Adc Group First Channel Fixed可以配置ADC通道组的第一个通道

Adc Max Channel Resolution所有通道最大精度

Adc Set Mode API使能Adc_SetModeApi接口

Adc Dual Clock Mode增加双时钟模式服务

Adc Channel Indexes Symbolic Names通道另外起名字为:通道组名称_通道名称,可以通过这个新名字来访问到通道

Adc Bypass Consistency Loop提高性能的时候勾选,要确保硬件没到达正确状态之前不进行操作。

Adc Enable/Disable Channels API 使能Adc_EnableChannel和Adc_DisableChannel接口

Adc Get Injected Conversions Status API使能Adc_GetInjectedConversionStatus接口

Adc Disable Production Error Reporting关闭诊断错误报告给DEM模块

Adc Enable Threshold Configuration使能Adc_ConfigureThreshold接口

Adc Enable data Cache在DMA模式下使用的cache映射到ADC结果缓冲区

Adc Enable Safety feature使能安全功能,在转换结果之前,对ADC通道数据寄存器的Valid和OVERWRITE位进行验证

AdcConfigSet

Adc Max Queue Depth当硬件单元busy的时候,等待转换的数据队列最大深度

AdcHwUnit每行是一个硬件单元

General

81b228fe81744d9497953113467c0249.png 

Adc Source Clock时钟源,在MCU模块配置,这里只能查看

Adc Hardware Unit硬件单元,也就是硬件设备,每个芯片自己有规定的硬件设备

Adc Clock Prescaler Value分频值

Adc Power Down Delay从复位到转换开始之间的延迟

ADC Mux Delay外部信号和采样开始之间的延迟

Adc Transfer Type传输方式是中断还是DMA。Hw触发器转换总是使用中断进行传输。如果一个SW触发的组具有不连续的通道或不同的通道类型(内部-测试-外部),那么该组也将使用中断进行传输。

AdcChannal

Adc Channel ID自己设置的序号,每个硬件单元里面从0开始

Adc Physical HW Channel物理硬件通道,它有自己对应的引脚,可以在芯片手册查到

Adc Test to Internal HW Channel Shorting内部测试物理硬件通道,一般选择个NO_EXT_TEST_CH_MAPPING就行

Adc Channel Limit Check通道限制检查

Adc Channel Resolution通道精度

Adc Channel Enable Precharging增加预充阶段。操作顺序为:预充->采样->转换

Adc Channel CTR0-3 Selection选择转换时序寄存器,以选择不同的预充和采样相位持续时间

Adc Channel Reference Selection选择通道转换的参考电压

AdcGroup

General

d3884859274d439ebf9ab5b74e3e48d4.png 

Adc Group Access Mode通道组访问转换结果模式,流模式或者单次模式

(单次模式下buffer模式只能选择线性,Streaming Number Samples只能设置为1)

流模式下buffer模式可以选择线性或者回环。

Adc Group Conversion Mode通道组转换模式,连续模式或单次模式

Adc Group Conversion Type通道组转换类型,常规还是注入

Adc Group Id自己编写的序号,在每个硬件单元里面从0开始

Adc Group Priority通道组优先级

Adc Group Trigger Source通道组触发源,软件还是硬件,如果是硬件,就要在AdcHwTrig里面填写硬件触发源。

Adc Group Notification通道组通知函数,转换完成之后进行回调NULL_PTR就是不回调

Adc Group Streaming Buffer Mode当通道组访问转换结果为流模式时,buffer模式为线性还是回环。线性模式buffer存满后,停止转换。回环模式存满后从头开始覆盖。

Adc Group Streaming Number Samples当通道组访问转换结果为流模式时,通道要采样的数量

Adc Group Enable/Disable channels使能接口Adc_DisableChannel和Adc_EnableChannel

Adc Group Without Interrupts禁用中断,在没有软件干预的情况下进行转换,可以通过调用Adc_ReadGroup()来读取转换结果。否则,结果缓冲区不再用于读取结果,需要直接从硬件寄存器读取

Adc Group Precharging Duration for CTR0预充阶段时间寄存器,公式为Tprechg = PRECHG * 1 / ADC时钟

AdcGroupConversionConfiguration里面调整预充和采样时间参数,转换分辨率只要跟ADC通道组里面的通道统一起来就行。

AdcGroupDefinition

从硬件单元里面选择一部分通道组成通道组

AdcHwTrig

选择硬件触发源

接口

Adc_DeInit逆初始化

Adc_DisableGroupNotification失能ADC通道组通知机制

Adc_EnableGroupNotification使能ADC通道组通知机制

Adc_DisableHardwareTrigger失能ADC通道组的硬件触发器

Adc_EnableHardwareTrigger使能ADC通道组的硬件触发器

Adc_GetGroupStatus返回请求的ADC通道组的转换状态

Adc_GetStreamLastPointer返回ADC通道组存储在结果缓冲区中每个通道的有效样本数,入参PtrToSamplePtr是用来获取缓冲区的指针的,有了指针和有效样本数,就可以访问所有有效的ADC通道组转换结果。

440e5f96c8ce44be92f5aff090c70d8c.png 

Adc_GetVersionInfo获取版本信息

Adc_Init初始化的时候需要调用

Adc_ReadGroup读取ADC通道组里面所有通道的最后一次完成的转换结果。这个接口会重置采样个数,如果在中断回调函数里面调用这个函数,转换完成后中断回调读取ADC组结果,然后程序判断到采样个数没有满,重新采样,就会导致转换一直停不下来。软件通过这个接口读取

硬件可以直接读取寄存器

REG_READ32(ADC_ICDRX_REG(ADC硬件设备基地址, 通道寄存器偏移))

Adc_SetupResultBuffer初始化ADC通道组结果缓冲区指针,需要你先开辟一个缓存空间,把这个数组的指针给到接口里面,以后这个ADC通道组的转换结果就会放到这个缓存空间里面。这个接口需要在组转换开始之前调用。通道组缓存空间 = sizeof(uint16)* 采样通道数 * 采样次数

Adc_StartGroupConversion开始ADC通道组转换

Adc_StopGroupConversion暂停ADC通道组转换

Adc_EndGroupConversion终止ADC通道组转换

Adc_EndNormalConv终止ADC单元里面的常规通道的转换。在Adc_EndGroupConversion里面进行调用,当一个常规通道转换结束时,调用转换结束ISR,这个函数负责驱动程序和模块状态转换。

Adc_EndSwInjectedConv终止该ADC单元里面的注入通道的转换,在Adc_EndGroupConversion里面进行调用

Adc_EndWDGInterrupt终止ADC硬件看门狗中断,清除中断,如果有回调函数就调用。(这是个啥)

Adc_HandleLastIteration在Adc_EndNormalConv里面调用,当访问模式设置为流模式和线性缓冲模式的时候,转换将被软件隐式停止,这个函数处理最后一轮迭代

Adc_WDGThresholdHandlerADC单元的看门狗中断处理(这是个啥)

Adc_DisableChannel失能ADC通道组里面的通道

Adc_EnableChannel使能ADC通道组里面的通道

Adc_GetInjectedConversionStatus获取ADC单元里面的注入式通道转换状态

Adc_SetClockMode设置时钟模式

 

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

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

相关文章

XSS LABS - Level 14 过关思路

关注这个靶场的其他相关笔记:XSS - LABS —— 靶场笔记合集-CSDN博客 0x01:关卡配置 这一关有些特殊,需要链接到外部站点,但是这个站点已经挂了,无法访问: 所以笔者就根据网上的资料,对这一关进…

ARM体系结构和接口技术(十一)定时器中断实验

文章目录 一、实验分析二、RCC章节:找到外设基地址并使能外设控制器时钟源1. RCC2. GICC和GICD3. TIM3 三、TIM3章节(一)CR1寄存器(二)DIER寄存器(三)SR寄存器(四)PSC寄存…

JS中this的指向问题、JS的执行机制、offset、client、scroll

JS中this的指向问题 1. 在全局环境下 在全局环境中(在浏览器中是 window 对象,在Node.js中是 global 对象),this 指向全局对象。 console.log(this window); // 在浏览器中为 true console.log(this.document ! undefined); //…

基于ssm+vue+uniapp的农业电商服务系统小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

代码随想录算法训练营第四十一天 | 121. 买卖股票的最佳时机 , 122.买卖股票的最佳时机II , 123.买卖股票的最佳时机III

目录 121. 买卖股票的最佳时机 思路 暴力 贪心 动态规划 1.确定dp数组(dp table)以及下标的含义 2.确定递推公式 3.dp数组如何初始化 4.确定遍历顺序 5.举例推导dp数组 方法一: 贪心 方法二:动态规划1 方法三&#xf…

使用rqt_console和roslaunch

1.使用rqt_console和rqt_logger_level rosrun rqt_console rqt_console 执行完该命令后有如下界面: 继续执行如下命令: rosrun rqt_logger_level rqt_logger_level 此时有如下新界面: 接下来继续运行如下命令: rosrun turtlesim turtlesim_node 上面第一…

慢sql问题解决,sql优化,数据库(mysql)

文章目录 1、count效率比较2、作者遇到的慢sql问题2.1、使用排序导致变慢问题2.2、使用LEFT JOIN 导致索引失效的问题2.3、子查询导致索引失效 3、explain命令介绍4、阿里云rds数据库(mysql的一种)主键索引查询很慢问题参考文档 1、count效率比较 所以结…

初识C++(8.27)

用C实现: 提示并输入一个字符串&#xff0c;统计该字符串中字母个数、数字个数、空格个数、其他字符的个数. #include <iostream> #include <string>using namespace std;int main() {string str;cout << "请输入一个字符串: ";getline(cin, str…

uni-app - - - - - 使用uview-plus详细步骤

uni-app - - - - - 使用uview-plus详细步骤 1. 使用HbuilderX创建空白项目2. 安装插件3. uview-plus配置使用3.1 main.js配置3.2 uni.scss配置3.3 App.vue配置3.4 pages.json 4. 重启Hbuilderx 1. 使用HbuilderX创建空白项目 2. 安装插件 工具 > 插件安装 > 前往插件市场…

用Python探究两组变量的相关性_典型相关分析(CCA)模板

典型相关分析&#xff08;Canonical Correlation Analysis, CCA&#xff09;是一种多变量统计分析方法&#xff0c;用于研究两组变量之间的整体相关性。它的基本原理是在两组变量中分别提取有代表性的两个综合变量&#xff08;即两组变量的线性组合&#xff09;&#xff0c;通过…

Java设计模式之工厂模式详细讲解和案例示范

在Java的设计模式中&#xff0c;工厂模式&#xff08;Factory Pattern&#xff09;是最常见和最有用的一种创建型模式。工厂模式的核心思想是将对象的创建与使用分离&#xff0c;从而提供了一种灵活的方式来创建不同类型的对象。这种模式尤其适用于复杂对象的创建过程&#xff…

HTTrack镜像网站实践

目录 前言 Windows下使用HTTrack HTTrack安装 HTTrack使用 Kali linux下使用HTTrack HTTrack安装 HTTrack使用 前言 在特殊时期&#xff0c;不想把真实的网站页面展示给用户&#xff0c;但又不能关停。此刻&#xff0c;可以用镜像网站替换真实网站&#xff0c;降低安全风…

Golang | Leetcode Golang题解之第378题有序矩阵中第K小的元素

题目&#xff1a; 题解&#xff1a; func kthSmallest(matrix [][]int, k int) int {n : len(matrix)left, right : matrix[0][0], matrix[n-1][n-1]for left < right {mid : left (right - left) / 2if check(matrix, mid, k, n) {right mid} else {left mid 1}}retur…

52.给定一个整数 n,实现一个算法返回 n 皇后不同的解决方案的数量

52. N-Queens II 题目 n皇后问题是指将n个皇后放置在一个nn的棋盘上,使得任意两个皇后不在同一行、同一列或同一对角线上。 给定一个整数 n,返回 n 皇后问题不同的解法数量。 示例: 输入: 4 输出: 2 解释: 4皇后问题有如下两个不同的解法: [ [“.Q…”, // 解法 1 “……

LabVIEW反编译与源程序加密破解

最近&#xff0c;不少粉丝咨询如何将生成的 LabVIEW 可执行程序反编译&#xff0c;所以写了这篇文章来详细探讨这个话题。反编译问题引起了广泛的关注&#xff0c;许多开发者希望能够从现有的可执行文件中提取源代码&#xff0c;以便进行修改或重新利用。然而&#xff0c;反编译…

Java基础:什么是多态

什么是多态 多态是面向对象的三大特性之一&#xff08;另外两个是封装和继承&#xff09;&#xff0c;指的是同一个方法能执行不同的行为&#xff0c;在代码上的体现是&#xff1a;声明为父类的对象&#xff0c;可以被不同的实现类赋值&#xff0c;其中实现类必须继承或者实现…

OpenCV图像拼接多频段融合源码重构

OpenCV图像拼接多频段融合源码重构 图像拼接是计算机视觉中的一个常见问题&#xff0c;OpenCV提供了十分完善的算法类库。作者使用OpenCV4.6.0进行图像拼接&#xff0c;其提供了包括曝光补偿、最佳缝合线检测以及多频段融合等图像拼接常用算法&#xff0c;测试发现多频段融合算…

uni-app - - - - - 自定义tabbar

uni-app - - - - - 自定义tabbar 1. 创建页面2. pages.json3. 自定义tabbar4. 隐藏原生tabbar5. 全局注册组件6. 页面使用7. 效果图展示 1. 创建页面 2. pages.json 配置tabbar {"tabBar": {"list": [{"pagePath": "pages/ballroom/ballr…

认知杂谈25

今天分享 有人说的一段争议性的话 I I 《拖延症&#xff0c;谁都有过》 嘿&#xff0c;朋友们&#xff01;咱都来说说&#xff0c;拖延症这玩意儿&#xff0c;好多人都被它给缠上啦。你看哈&#xff0c;本来计划得好好的&#xff0c;今天要把房间收拾得干干净净&#xff0c;可…

SSH弱口令爆破服务器

一、实验背景 1、概述 使用kali的hydra进行ssh弱口令爆破&#xff0c;获得服务器的用户名和口令&#xff0c;通过 ssh远程登录服务器。 2、实验环境 kali攻击机&#xff1a;192.168.1.107 centos服务器&#xff1a;192.168.1.105 二、前置知识 1、centos设置用户并设置弱…