AutoSar标准下ADC的结果访问(Adc_ReadGroup与Adc_GetStreamLastPointer)的异同

2023-11-12

系列文章目录

等待更新中…



前言:

看懂此章,阁下已经跨入炼气期第五层了(滑稽)
在这里插入图片描述

1、什么是ADC的结果访问

在Autosar标准中,我们使用标准函数Adc_GetStreamLastPointer与Adc_ReadGroup对AD转换结果进行取值;那么这二者之间有何异同呢

2、ADC访问模式:

1、1 AdcGroupAccessMode----- ADC的Group的访问模式
在ONE-SHOT的转化模式下:
软件触发只能选择SINGLE-ACCESS(单次访问模式)
硬件触发可以选择SINGLE-ACCEESS 或者 STREAMING-ACCESS(线性流访问模式)

在这里插入图片描述

3、AUTOSAR标准配置案例分析

配置案例:(来源Autosr标准4.2.2;搞autosar的不看标准文档等于少条腿;网上博主写的文章大家也都是基于标准来写的)

3.1 Configuration

在这里插入图片描述
group G1中配置两个通道 CH0,CH1 结果指针指向G1_ResultPtr
group G2中配置1个通道 CH2 结果指针指向G2_ResultPtr
group G3中配置1个通道 CH3 结果指针指向G3_ResultPtr

在这里插入图片描述

group G1配置为STREAMING模式 AdcStreamingNumSamples(采样数)为3
group G2配置为STREAMING模式 AdcStreamingNumSamples(采样数)为2
group G1配置为SINGLE模式 此时AdcStreamingNumSamples(采样数)为1
NOTE: SINGLE模式相当于配置STREAMING模式时,把AdcStreamingNumSamples设置为1;

3.2 图形展示结果指针初始化

具体表现:
根据下图可以看出:
G1设置了采样数为3,所以在result buffer中,对同一个通道CH0有三个结果;
G2设置了采样数为2,所以在result buffer中,对同一个通道CH0有两个结果;
G2设置为了SINGLE模式(即采样数为1),所以在result buffer中,对同一个通道CH0有一个结果;
在这里插入图片描述

3.3 使用Adc_GetStreamLastPointer API访问结果:

在这里插入图片描述
Adc_GetStreamLastPointer(Adc_GroupType Group,Adc_ValueGroupType** Ptr To SamplePtr)

Fuc:返回每个通道的有效样本数量,存储在结果缓冲区中。
读取一个指针,指向组结果缓冲区中的某个位置。通过指针位置,可以访问最后一次完成转换轮的所有组通道的结果;(指向的都是最上层的结果,说明这个result buffer应该是一个栈的结构)

3.4 使用Adc_ReadGroup API访问结果:

在这里插入图片描述

Std_ReturnType Adc_ReadGroup(Adc_GroupType Group,Adc_ValueGroupType* DataBufferPtr)
调用Adc_ReadGroup将结果从结果缓冲区 -复制*到可选的读缓冲区

读取所请求组的最后一轮完成转换的组转换结果,并存储从DataBufferPtr地址开始的通道值。组信道值按信道号升序存储(与配置流访问时结果缓冲区的存储布局相反)。

3、Adc_GetStreamLastPointer与Adc_ReadGroup比较:

共同点:
1、函数都将读取请求组的最新可用转换结果;
2、第一个入参相同,都是GroupID

不同点:

  1. 、结果缓冲区的存储布局相反,Adc_ReadGroup的最新转化结果放在下面;而Adc_GetStreamLastPointer的最新转化结果放在上面;
  2. 、第二个入参不同: Adc_GetStreamLastPointer的第二个参数类型PtrToSamplePtr为二级指针,Adc_ReadGroup的第二个参数DataBufferPtr类型为一级指针;
  3. 、需要的结果缓冲区的大小不同:Adc_GetStreamLastPointer采集的有效值的数量为Group中设置的通道数量×设置的AdcStreamingNumSamples(采样数)
    例如:配置了2个通道,设置的采样数为3;那么结果缓冲区的大小至少要能接收超过六个数据,你设置的数组大小必须大于等于6;
  4. 、返回值不同: Adc_GetStreamLastPointer返回每个通道的有效样本数量,存储在结果缓冲区中。
    Adc_ReadGroup返回E_OK(结果可用,并写入数据缓冲区)、E_NOT_OK(没有可用的结果或发生了开发错误)

4、 运用实例:

Adc_GetStreamLastPointer :

uint32 Sample_Num;
uint16 *ResultPtr;
uint16 Adc_Result_array[16];
uint8 status;

Adc_Init(&Adc_ConfigSet);
status = Adc_SetupResultBuffer(Group_0, Adc_Result_array);
if(status == E_OK)
{
Adc_StartGroupConversion(Group_0);
do
{
Sample_Num = Adc_GetStreamLastPointer(Group_0, &ResultPtr);
}while(Sample_Num == 0);
printf("%d\n", ResultPtr[0]);
}else
{
printf("setup result buffer fail");
}
Adc_StopGroupConversion(Group_0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AutoSar标准下ADC的结果访问(Adc_ReadGroup与Adc_GetStreamLastPointer)的异同 的相关文章

  • Cloneable接口的作用与深入理解深度克隆与浅度克隆

    cloneable接口的作用 cloneable其实就是一个标记接口 只有实现这个接口后 然后在类中重写Object中的clone方法 然后通过类调用clone方法才能克隆成功 如果不实现这个接口 则会抛出CloneNotSupported
  • Java后台以树形结构返回省市区三级区域信息

    欢迎访问个人博客德鲁大叔撸代码 在前台页面很常见的一种需求是 以树形结构展示具有层级关系的数据 比如企业的部门信息 大部分管理系统的菜单 省市区信息等等 具体如下图所示 一 表创建以及数据导入 执行下面创建表sql 创建sys region
  • Unity 电脑仿真装机演示项目

    2021 6 9更新 设计方案 三个场景 1 主场景附带两个跳转按钮 能跳转到理论学习和实战装机 2 理论学习场景展示每个部件的说明以及模型细节 可旋转缩放查看 3 实战装机场景用于演示装机过程 通过拖动部件到合适的位置达到组装目的 关键细
  • 【习题七】【数据库原理】

    文章目录 一 单选题 二 填空题 一 单选题 1 在SQL Server 中不是对象的是 A 用户 B 数据 C 表 D 数据类型 答案 B 2 声明了变量 DECLARE i int c char 4 现在为 i赋值10 为 c赋值 ab
  • 无线路由器及Wi-Fi组网指南(史上最全)

    白驹过隙 逝者如斯 经过断断续续几个月的更新 关于无线路由器和Wi Fi的介绍终于告一段落 其实 这个话题下还有很多很多的内容没有涉及到 然生有涯而知无涯 只能在此暂且搁笔 后续缘起再续 下面 正文开始 1 什么是无线路由器 在5 时代 手
  • chromium源码编译android平台动态库

    chromium源码编译 参考博客 https www jianshu com p 5fce18cbe016 拜祭一下祖先和各路神仙 还有上帝 毕竟代码是在他的地盘 一定一定要保证网路是通畅的 不能出现中断 环境配置 本身编译环境Ubunt
  • 基于PLL锁相环的FPGA内核IP的使用以及配置笔记

    基于PLL锁相环的FPGA内核IP的使用以及配置笔记 IP核作为FPGA快速开发的法宝 简单理解就是将常用的且比较复杂的功能模块设计成参数可修改的电路功能模块 在quartus 最新版 tool IP Catalog中有许多的IP内核可以供
  • textarea kindeditor高度自适应

随机推荐

  • 软件工程毕业设计选题100例(八)

    文章目录 前言 题目1 基于SSM的在线教学视频点播系统 br 题目2 基于SSM的考研信息查询系统 br 题目3 基于SSM与垃圾分类的信息管理系统 br 题目4 基于SSM的留学生交流平台系统 br 题目5 基于SSM的企业销售培训系统
  • Cookie、Session、Token、JWT 之间的区别

    一 前言 认证 Authentication 通俗地讲就是验证当前用户的身份 互联网中的认证 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱 验证码 就默认你是账号的主人 授权 Authorization 用户授予第三
  • 人工智能基础教育范围

    当前世界文明正处于从网络时代迈向智慧时代的转型过程中 人工智能对我们的生产 生活 学习方式的影响日渐深入 格物斯坦表示即便是行业人士 也是看得眼花缭乱 未来 谁主宰人工智能的核心 谁将引领时代的潮流 要培养智能时代的合格公民 人工智能教育普
  • vue+element ui +axios点击列表页列表跳转指定id详情页并进行数据渲染(纯前端)

    目录 一 思路 二 实现 一 思路 在列表页获取到所点击的list的id后 将这个id与路由绑定起来 进行跳转 渲染 不过这个方法有个bug 就是当列表使用的不是
  • 如何修改linux的MAC地址

    步骤如下 但不唯一 1 临时性的修改 依次输入以下命令 sbin ifconfig eth0 down sbin ifconfig eth0 hw ether 00 0C 29 36 97 20 sbin ifconfig eth0 up
  • 今夜喜雨

    雨夜 用了两个小时的时间终于推导了直线三角化的公式 直线三角化 是的 即通过两帧的匹配直线得到空间直线的端点 如果端点严格匹配那么就是点的三角化 你可以从 SLAM十四讲 一书或者其他的博客很容易知道怎么做 但是直线的端点往往不是严格对齐的
  • 最跌宕也最精彩, Poly Network开启加密世界新征程

    毫无疑问 未来跨链协议在整个加密生态系统中的角色将会越来越重要 但同时 一旦出现问题影响范围也相对较大 因此必须要把防范黑客恶意入侵放在首位 并且持续做好必要的安全防护措施 与此同时 安全工作也要成为常态 比如定期进行安全测试 演练 做到未
  • 史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!

    在学习Linux时 会发现Linux的命令非常多而且还有很多参数 让人很是苦恼 就想着有没有一篇文章可以整理出来常用的命令 尽管网上有很多文章 但是总会有点问题 整理的文章非常详细但是没有目录 不能直接跳转到相关的位置 那么今天博主就带来了
  • Ubuntu的几个初始化文件

    转载自 url http kimva blogbus com logs 19989279 html url 1 etc profile 全局 公有 配置 不管是哪个用户 登录时都会读取该文件 2 ect bashrc Ubuntu没有此文件
  • 官方力推!学习Python必备的8本书

    在过去一年里 Python的热度一路飙升 国内越来越多的人选择学习Python 如今已然成为大量开发者推荐的入门编程语言和第二编程语言 而且Python还是人工智能的主要编程语言 因此 其重要性和流行度也就不言而喻了 想要学好Python语
  • 计时函数(基本知识)

    计时函数的运用 在算法题提交的时候 系统经常会给你一个TLE 这提醒我们要优化算法 但我们如何优化算法这是一个问题 我们可以运用计时函数 大概统计一下代码在最糟糕的情况下的运行时间 可以大概得出优化方向 当然这里只是大概 当超时时间过多时
  • slf4j 如何启动logback,log4j源码分析

    历史 知道java 日志框架的 应该知道log4j logback slf4j竟然是一个作者写的 我的天 为啥要写三个 这个可以去看看相关的文章 今天讨论的门面slf4j是如何驱动logback和log4j的 入口 一般日志的开启都是在这里
  • FreeRTOS 源码注释(prvCheckTasksWaitingTermination)

    FreeRTOS 中删除任务是分两步的 第一步 vTaskDelete 将其从各个工作链表中断开 放到xTasksWaitingTermination 链表中 第二步 Idle Task 调用这个函数真正的删除任务 代码很简单 不需要注释了
  • 算法、设计模式和原则

    面试总结 目录 1 设计模式 2 面向对象设计 OOD 原则 开放关闭原则 Open Closed Principle 里氏替代原则 Liskov Substitution Principle 接口隔离原则 Interface Segreg
  • PCL 逐点插入法构建Delaunay三角网(C++详细过程版)

    目录 一 逐点插入算法 二 代码实现 三 结果展示 四 测试数据 Delaunay三角剖分分为直接三角剖分和间接三角剖分 间接三角剖分首先计算为Voronoi图 然后由Voronoi图产生Delaunay三角网 这种方法的算法复杂 内存开销
  • quantopian寻找策略之mean_reversion

    股价有向均线回归的趋势 利用这个特点 可以在技术指标处于超卖阶段寻找那些上涨速度快的流通性好的股票买入 形成下面的策略 策略来源quantopian 对于市场上流通性最好的1500只股票在pipeline中先进行一波过滤 1 年收益率排名前
  • pyinstaller 打包pyqt5 之报错 no module named pyqt5.sip

    使用PyQt5做了一个GUI程序 在ubuntu 18运行源码没有问题 但是打包以后报错 虽然在我的程序中没有显式的使用到PyQt5 sip 但是PyQt5 Qtcore中会导入该模块 no module named pyqt5 sip 下
  • java 运行 加载jar_如何在运行时加载JAR文件

    用现有数据重新加载现有类可能会破坏一些东西 您可以相对容易地将新代码加载到新的类加载器中 ClassLoader loader URLClassLoader newInstance new URL yourURL getClass getC
  • JavaScript 的 Worker API 实现代码

    JavaScript 的 Worker API 允许你在后台运行脚本 从而不影响页面的性能 以下是一个简单的例子 创建一个名为 worker js 的文件 并在里面编写要在后台运行的脚本 self addEventListener mess
  • AutoSar标准下ADC的结果访问(Adc_ReadGroup与Adc_GetStreamLastPointer)的异同

    系列文章目录 等待更新中 文章目录 系列文章目录 前言 1 什么是ADC的结果访问 2 ADC访问模式 3 AUTOSAR标准配置案例分析 3 1 Configuration 3 2 图形展示结果指针初始化 3 3 使用Adc GetStr