02-RT1060 双ADC采样+eDMA传输
RT1060-双ADC+eDMA外设的配合使用
该项目是基于MIMXRT1060-EVKB官方开发板编写的驱动。
一、头文件包含介绍
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "fsl_adc.h"
#include "fsl_adc_etc.h"
#include "fsl_pit.h"
#include "fsl_xbara.h"
#include "fsl_common.h"
#include "fsl_iomuxc.h"
#include "fsl_edma.h"
#include "fsl_dmamux.h"
上面代码段是需要包含的头文件,分别由ADC相关的fsl_adc.h、fsl_adc_etc.h,定时触发的周期定时器fsl_pit.h,触发链接的fsl_xbara.h和DMA相关的fsl_edma.h、fsl_dmamux.h,其他几个是使用IO初始化部分系统时需要用到的头文件。
二、自定义宏介绍
//1.ADC配置
#define USER_ADC1_BASE ADC1
#define ADC1_USER_CHANNEL 16U
#define ADC1_CHANNEL_GROUP 4U#define USER_ADC2_BASE ADC2
#define ADC2_USER_CHANNEL 16U
#define ADC2_CHANNEL_GROUP 5U//2.ADC DMA配置设置
#define ADC_DMA DMA0
#define USER_DMAMUX DMAMUX
#define ADC1_EDMA_CHANNEL 4
#define ADC2_EDMA_CHANNEL 5//3.多通道采样
#define USER_ADC_ETC_BASE ADC_ETC
#define ADC1_ETC_CHAIN_LENGTH 2U
#define ADC2_ETC_CHAIN_LENGTH 4U//4.触发
#define XBARA_BASE XBARA1
#define ADC1_XBARA_INPUT_PITCH kXBARA1_InputPitTrigger0
#define ADC1_XBARA_OUTPUT_ADC_ETC kXBARA1_OutputAdcEtcXbar0Trig3
#define ADC1_ETC_XBARA_TRIGGER_CHANNELx 3 //每个ADC有4个转换通道组,ADC1对应0到3,ADC2对应4到7.
#define ADC1_ETC_XBARA_CHANNEL_BASE 0x403B00A0#define ADC2_XBARA_INPUT_PITCH kXBARA1_InputPitTrigger1
#define ADC2_XBARA_OUTPUT_ADC_ETC kXBARA1_OutputAdcEtcXbar1Trig3
#define ADC2_ETC_XBARA_TRIGGER_CHANNELx 7 //每个ADC有4个转换通道组,ADC1对应0到3,ADC2对应4到7.
#define ADC2_ETC_XBARA_CHANNEL_BASE 0x403B0140//5.ADC采样周期配置设置
#define USER_PIT_BASE PIT
#define PIT_SOURCE_CLOCK CLOCK_GetFreq(kCLOCK_OscClk) //得到PIT的时钟频率
#define ADC1_PIT_CHANNEL kPIT_Chnl_0
#define ADC2_PIT_CHANNEL kPIT_Chnl_1#define ADC1_SAMPLE_NUM 5 //采样滤波次数
#define ADC2_SAMPLE_NUM 5 //采样滤波次数
1.ADC配置
USER_ADC1_BASE、USER_ADC2_BASE分别定义了ADC1和ADC2,ADC1_USER_CHANNEL、ADC2_USER_CHANNEL是设置的转换通道号,取值范围为0~31;ADC1_CHANNEL_GROUP和ADC2_CHANNEL_GROUP是设置ADC的通道组,这里分别取4和5。
2.ADC DMA配置设置
系统只有DMA0,所以ADC的DMA为DMA0,ADC1_EDMA_CHANNEL定义的是DMA的通道,我这边0~3用于了其他设备,所以这里取的是通道4和5.
3.多通道采样
USER_ADC_ETC_BASE定义ADC外部触发的ADC_ETC,ADC1_ETC_CHAIN_LENGTH取2表示ADC1采集2个ADC通道,ADC2_EDMA_CHANNEL取4表示ADC2采集4个ADC通道.
4.触发
定义了ADC的触发通道,使用PIT的通道0触发XBARA1的0-3,使用PIT的通道1触发XBARA1的1-3,分别对应的ADC_ETC的转换通道3和7,查《IMXRT1060RM》手册可知ADC_ETC转换通道3的输出存储地址为0x403B00A0,ADC_ETC转换通道7的输出存储地址为0x403B0140。



5.ADC采样周期
ADC的采样周期这里使用的是周期定时器
相关文章:
02-RT1060 双ADC采样+eDMA传输
RT1060-双ADC+eDMA外设的配合使用 该项目是基于MIMXRT1060-EVKB官方开发板编写的驱动。 一、头文件包含介绍 #include "pin_mux.h" #include "clock_config.h" #include "board.h" #include "fsl_adc.h" #include "fsl_adc_et…...
单值集合总复习
1:Object类的核心方法复习 Object 是所有类【引用数据类型】的 直接 / 间接 父类 toString(): 将一个 引用数据类型的对象 转换成 String 类型 class Object{//Sun //toString()不需要参数:将一个对象转换成字符串 将调用者转换成字符串 public String …...
Pyside6 布局管理器(4)--- QGridLayout的使用
一、QGridLayout的介绍(官翻) QGridLayout 获得可用的空间(由其父布局或 parentWidget() 提供),将其划分为行和列,并将其管理的每个小部件放入正确的单元格中。 列和行的行为是相同的;我们将…...
从GPT定制到Turbo升级再到Assistants API,未来AI世界,你准备好了吗?
引言 在OpenAI DevDay发布会上,OpenAI再次震撼整个人工智能行业,为AI领域带来了重大的更新。CEO Sam Altman宣布推出了定制版本的ChatGPT,这意味着用户现在可以根据自己的需求打造个性化的GPT,并分享至GPT Store。这一消息对于受…...
「漏洞复现」BladeX企业级开发平台 tenant/list SQL 注入漏洞复现(CVE-2024-33332)
0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…...
基于SSM的消防物资存储系统【附源码】
基于SSM的消防物资存储系统 效果如下: 用户功能界面 仓库管理界面 物资入库管理界面 物资出库管理界面 物资详情管理界面 报警通知管理界面 安全检查提醒管理界面 管理员功能界面 研究背景 21世纪,我国早在上世纪就已普及互联网信息,互联网…...
Pseudo Multi-Camera Editing 数据集:通过常规视频生成的伪标记多摄像机推荐数据集,显著提升模型在未知领域的准确性。
2024-10-19,由伊利诺伊大学厄巴纳-香槟分校和香港城市大学的研究团队提出了一种创新方法,通过将常规视频转换成伪标记的多摄像机视角推荐数据集,有效解决了在未知领域中模型泛化能力差的问题。数据集的创建,为电影、电视和其他媒体…...
认识一下 Mochi-1--最新的免费开源人工智能视频模型
Genmo 是一家专注于视频生成的人工智能公司,该公司宣布发布 Mochi 1 的研究预览版。Mochi 1 是一种新的开源模型,可根据文本提示生成高质量视频,其性能可与 Runway 的 Gen-3 Alpha、Luma AI 的 Dream Machine、Kuaishou 的 Kling、Minimax 的…...
Spring 的事务传播机制
Spring 的事务传播机制定义了一个事务方法在遇到已经存在的事务时如何处理。事务传播属性(Propagation)提供了七种机制,以适应不同的业务需求和事务边界管理。 1. Spring 的事务传播机制的类型 (1)REQUIREDÿ…...
线性代数(1)——线性方程组的几何意义
线性代数的基本问题是求解个未知数的个线性方程; 例如:(方程1)。 在线性代数的第一讲中,我们从Row Picture、Column Picture、Matrix Picture三个角度来看这个问题。 上面的系统是二维的。通过添加第三个变量&#…...
写给自己的一些心得体会
为什么是CSDN??? 最近跑实验跑得绝望,感觉自己兜兜转转走了太多太多的弯路,我不知道这样的弯路什么时候是个尽头,就像在USJ排队,看似好像要到入口了,实则一转头还是无尽绵延的队伍。走了这么多弯路,总要…...
论文阅读(二十九):Multi-scale Interactive Network for Salient Object Detection
文章目录 Abstract1.Introduction2.Scale VariationProposed Method3.1Network Overview3.2Aggregate Interaction Module3.3 Self-Interaction Module3.4Consistency-Enhanced Loss 4.Experiments4.1Implementation Details4.2 Comparison with State-of-the-arts4.3Ablation …...
常见存储器及其特点
: 一、只读存储器(ROM)及其类型 1. ROM 特点:存储的数据固定不变,只能读出不能写入,且断电后数据不丢失。应用:通常用于存储系统程序,如BIOS等。 2. PROM(可编程只读…...
《向量数据库指南》——text-embedding-3-large与Mlivus Cloud打造语义搜索新纪元
使用text-embedding-3-large生成向量并将向量插入Mlivus Cloud实现高效语义搜索的深度解析与实战操作 在数字化时代,数据的处理和存储方式正在经历前所未有的变革。特别是随着大数据和人工智能技术的快速发展,向量数据库作为一种新型的数据存储和查询方式,正逐渐受到越来越…...
通过 Bytebase API 查看数据库审计日志
原文地址代码库 Bytebase 是一款数据库 DevOps 和 CI/CD 工具,专为开发者、DBA 和平台工程团队设计。虽然它提供了直观的 GUI 来管理数据库 schema 变更和访问控制,但有些团队可能希望使用 Bytebase API 将 Bytebase 集成到现有的 DevOps 平台中。 在之…...
# 渗透测试# 1.安全见闻(6)通讯协议
安全见闻6 通讯协议 ##B站陇羽Sec## 潜在的安全问题所涉及的领域 无线电安全,协议分析,web渗透,逆向分析 通讯协议涉及的安全主要包括以下几个方面: 1.1 保密性问题 …...
[Gdiplus/Gdi]_[中级]_[实现多行文本的多种颜色绘制-富文本绘制]
场景 在开发WTL/WIN32界面程序时,有时候需要绘制多行的段落文本,但是文本里的数值需要设置红色以便能让人第一时间关注到它。这种文本可以称之为富文本。GDI的DrawText和GDIPlus的DrawString方法都只能连续绘制某个颜色的文本。怎么实现?说明 在《绘图实现单行文本的多种颜色…...
Ubuntu如何创建一个子用户并赋与管理员权限
在Ubuntu操作系统中,如何创建一个子用户并赋与管理员权限 一、创建用户 sudo useradd -m -s /bin/bash test详细解释: sudo:以超级用户(root)权限执行该命令。useradd 命令通常需要管理员权限,因此需要加上 sudo。 useradd:创建新用户的命令。 -m:指示系统为新用户创建…...
【Linux | IO多路复用】epoll的底层原理详解
epoll 是一种高效的 I/O 多路复用机制,广泛用于 Linux 系统中,用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能,特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…...
npm run serve 提示异常Cannot read property ‘upgrade‘ of undefined
npm run serve 提示Cannot read property ‘upgrade’ of undefined 一般是proxy的target代理域名问题导致的,如下: 解决方案: proxy: { “/remoteDealerReportApi”: { target: ‘http://demo-.com.cn’, //此域名有问题,会导致…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
