完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我需要为我的最终应用程序读取 24 个通道,如果我完成了 adc 2 个通道,我正在尝试读取 2 个通道,这样我就可以理解做 24 个通道
开发工具包详情 适用于 S32 平台的 S32 Design Studio 版本:3.4 构建 ID:201217(更新 3) 截至目前,我的配置如下 ADC 转换器配置和通道 PTA 0 和 PTC14 const adc_converter_config_t adc_config_1_ConvConfig0 = { .clockDivide = ADC_CLK_DIVIDE_4, .sampletime = 255U, .resolution = ADC_RESOLUTION_12BIT, .inputClock = ADC_CLK_ALT_1, .trigger = ADC_TRIGGER_HARDWARE, .pretriggerSel = ADC_PRETRIG GER_SEL_PDB, .triggerSel = ADC_TRIGGER_SEL_PDB, .dmaEnable = false, .voltageRef = ADC_VOLTAGEREF_VREF, .continuousConvEnable = false, .supplyMonitoringEnable = false }; const adc_chan_config_t adc_config_1_ChnConfig0 = { .interruptEnable = true, .channel = ADC_INPUTCHAN_EXT12 }; const adc_chan_config_t adc_config_1_ChnConfig1 = { .interruptEnable = true, .channel = ADC_INPUTCHAN_EXT0 }; PDB配置 /*! @brief ADC 预触发配置 */ const pdb_adc_pretrigger_config_t pdb_config_1_adcTrigConfig0 = { .adcPreTriggerIdx = 0U, .preTriggerEnable = true, .preTriggerOutputEnable = true, .preTriggerBackToBackEnable = false }; const pdb_adc_pretrigger_config_t pdb_config_1_adcTrigConfig1 = { .adcPreTriggerIdx = 1U, .preTriggerEnable = true, .preTriggerOutputEnable = true, .preTriggerBackToBackEnable = true }; /*! @brief PDB 定时器配置 */ const pdb_timer_config_t pdb_config_1_timerConfig0 = { .loadValueMode = PDB_LOAD_VAL_IMMEDIATELY, .seqErrIntEnable = false, .clkPreDiv = PDB_CLK_PREDIV_BY_128, .clkPreMultFactor = PDB_CLK_PREMULT_FACT_AS_10, .triggerInput = PDB_SOFTWARE_TRIGGER, .continuousModeEnable = false, .dmaEnable = false, .intEnable = false, .instanceBackToBackEnable = false, }; 这是主要代码 /*! ** 版权所有 2020 恩智浦 ** @file main.c ** @简短的 ** 主模块。 ** 此模块包含用户的应用程序代码。 */ /*! ** @addtogroup main_module 主模块文档 ** @{ */ /* 主要模块 */ /* 包括必要的配置文件。*/ #include "sdk_project_config.h" #include “interrupt_manager.h” #include "helper_functions.h" volatile bool adcConvDone; 易失性 int exit_code = 0; /* 用户包括 */ #define PDB_INSTANCE 0 #define ADC_INSTANCE 0 #define PDLY_TIMEOUT 1000000UL IRQn_Type adcIRQ; /*! \brief 项目的主要功能。 \details 启动初始化顺序如下: * - 启动 asm 例程 * - 主要的() */ uint16_t adcRawValue,adcRawValue1; void ADC_IRQHandler(void) { /* 从 ADC 通道获取通道结果 */ ADC_DRV_GetChanResult(ADC_INSTANCE, 0U, (uint16_t *)&adcRawValue); ADC_DRV_GetChanResult(ADC_INSTANCE, 1U, (uint16_t *)&adcRawValue1); /* 设置ADC转换完成标志 */ adcConvDone = 真; PDB_DRV_SoftTriggerCmd(PDB_INSTANCE); } void clock_pins(无效) { status_t 状态; status = CLOCK_DRV_Init(&clockMan1_InitConfig0); DEV_ASSERT(状态== STATUS_SUCCESS); /* 将引脚设置为 GPIO */ status = PINS_DRV_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0); DEV_ASSERT(状态== STATUS_SUCCESS); } 无效 adc0(无效) { 开关(ADC_INSTANCE) { 案例 0UL: adcIRQ = ADC0_IRQn; 休息; 案例 1UL: adcIRQ = ADC1_IRQn; 休息; 默认: adcIRQ = ADC1_IRQn; 休息; } ADC_DRV_ConfigConverter(ADC_INSTANCE, &adc_config_1_ConvConfig0); ADC_DRV_AutoCalibration(ADC_INSTANCE); ADC_DRV_ConfigChan(ADC_INSTANCE, 0UL, &adc_config_1_ChnConfig1); ADC_DRV_ConfigChan(ADC_INSTANCE, 1UL, &adc_config_1_ChnConfig0); INT_SYS_InstallHandler(adcIRQ, &ADC_IRQHandler, (isr_t*) 0); } 无效 pdb0(无效) { uint16_t 延迟值; 如果 (!calculateIntValue(&pdb_config_1_timerConfig0, PDLY_TIMEOUT, &delayValue)) { /* 停止应用程序流 */ 同时(1); } PDB_DRV_Init (PDB_INSTANCE, &pdb_config_1_timerConfig0); PDB_DRV_Enable(PDB_INSTANCE); PDB_DRV_ConfigAdcPreTrigger(PDB_INSTANCE, 0UL, &pdb_config_1_adcTrigConfig0); PDB_DRV_ConfigAdcPreTrigger(PDB_INSTANCE, 0UL, &pdb_config_1_adcTrigConfig1); PDB_DRV_SetTimerModulusValue(PDB_INSTANCE, (uint32_t) delayValue); PDB_DRV_SetAdcPreTriggerDelayValue(PDB_INSTANCE, 0UL, 0UL,(uint32_t) delayValue); PDB_DRV_LoadValuesCmd(PDB_INSTANCE); PDB_DRV_SoftTriggerCmd(PDB_INSTANCE); /* 启用 ADC 1 中断 */ INT_SYS_EnableIRQ(adcIRQ); } int 主要(无效) { /* 在这里写你的代码 */ 时钟引脚(); adc0(); pdb0(); 而(1) { 如果(adcConvDone) { adcConvDone = false; PDB_DRV_SoftTriggerCmd(PDB_INSTANCE); } } 返回退出代码; } /* 结束主要 */ /*! ** @} */ |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1933个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36421 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4901 浏览 1 评论
6109 浏览 1 评论
6819 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4249 浏览 0 评论
648浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
644浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
645浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
730浏览 2评论
844浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 13:19 , Processed in 1.266119 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号