完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在我想配置一个 ADC 来检测电池电压。我用的是RT1176单片机,我用的管脚是GPIO_AD_34(J16),有很多复用功能。现在我使用路由IOMUXC_GPIO_AD_34_XBAR1_INOUT18,并开启相关配置,发现可以进入ADC中断,但读取数据始终为0,怀疑是我的配置有问题,但是进不去找到了,你可以帮我让我知道配置错误的地方。附近会给我我的ADC
这是我的代码: #define DEMO_ADC_BASE LPADC1 #define DEMO_ADC_USER_CHANNEL 0U #define DEMO_ADC_USER_CMDID 1U #define DEMO_ADC_CHANNEL_GROUP 0U #define DEMO_ADC_ETC_BASE ADC_ETC #define DEMO_ADC_ETC_TRIGGER_GROUP 3U #define DEMO_ADC_ETC_CHANNEL 1U #define DEMO_ADC_ETC_DONE0_Handler ADC_ETC_IRQ0_IRQHandler void ADC_ETC_Configuration(void) { adc_etc_config_t adcEtcConfig; adc_etc_trigger_config_t adcEtcTriggerConfig; adc_etc_trigger_chain_config_t adcEtcTriggerChainConfig; /* 初始化 ADC_ETC。*/ ADC_ETC_GetDefaultConfig(&adcEtcConfig); adcEtcConfig.XBARtriggerMask = 0x08U; /* 启用外部 XBAR trigger3。*/ ADC_ETC_Init(DEMO_ADC_ETC_BASE, &adcEtcConfig); /* 设置外部 XBAR trigger0 配置。*/ adcEtcTriggerConfig.enableSyncMode = false; adcEtcTriggerConfig.enableSWTriggerMode = true; adcEtcTriggerConfig.triggerChainLength = 0U; /* 链长 1. */ adcEtcTriggerConfig.triggerPriority = 0U; adcEtcTriggerConfig.sampleIntervalDelay = 0U; adcEtcTriggerConfig.initialDelay = 0U; ADC_ETC_SetTriggerConfig(DEMO_ADC_ETC_BASE, DEMO_ADC_ETC_TRIGGER_GROUP, &adcEtcTriggerConfig); /* 设置外部 XBAR trigger0 chain0 配置。*/ adcEtcTriggerChainConfig.enableB2BMode = false; adcEtcTriggerChainConfig.ADCHCRegisterSelect = 1U << DEMO_ADC_CHANNEL_GROUP; /* 选择要触发的 ADC_HC0 寄存器。*/ adcEtcTriggerChainConfig.ADCChannelSelect = DEMO_ADC_ETC_CHANNEL; /* ADC_HC0 将被触发以采样相应的通道。*/ adcEtcTriggerChainConfig.InterruptEnable = kADC_ETC_Done0InterruptEnable; /* 启用 Done0 中断。*/ #if defined(FSL_FEATURE_ADC_ETC_HAS_TRIGm_CHAIN_a_b_IEn_EN) && FSL_FEATURE_ADC_ETC_HAS_TRIGm_CHAIN_a_b_IEn_EN adcEtcTriggerChainConfig.enableIrq = true; /* 启用 IRQ。*/ #endif /* FSL_FEATURE_ADC_ETC_HAS_TRIGm_CHAIN_a_b_IEn_EN */ /* 配置触发组链0. */ ADC_ETC_SetTriggerChainConfig(DEMO_ADC_ETC_BASE, DEMO_ADC_ETC_TRIGGER_GROUP, 0U, &adcEtcTriggerChainConfig); } void LPADC_Configuration(void) { lpadc_config_t lpadcConfig; lpadc_conv_command_config_t lpadcCommandConfig; lpadc_conv_trigger_config_t lpadcTriggerConfig; /* 初始化 ADC 模块。*/ LPADC_GetDefaultConfig(&lpadcConfig); LPADC_Init(DEMO_ADC_BASE, &lpadcConfig); #if (defined(FSL_FEATURE_LPADC_HAS_CFG_CALOFS) && FSL_FEATURE_LPADC_HAS_CFG_CALOFS) /* 进行偏移校准。*/ LPADC_DoOffsetCalibration(DEMO_ADC_BASE, SystemCoreClock); #endif /* FSL_FEATURE_LPADC_HAS_CFG_CALOFS */ /* 设置转换 CMD 配置。*/ LPADC_GetDefaultConvCommandConfig(&lpadcCommandConfig); lpadcCommandConfig.channelNumber = DEMO_ADC_USER_CHANNEL; LPADC_SetConvCommandConfig(DEMO_ADC_BASE, DEMO_ADC_USER_CMDID, &lpadcCommandConfig); /* 设置触发器配置。*/ LPADC_GetDefaultConvTriggerConfig(&lpadcTriggerConfig); lpadcTriggerConfig.targetCommandId = DEMO_ADC_USER_CMDID; lpadcTriggerConfig.enableHardwareTrigger = true; LPADC_SetConvTriggerConfig(DEMO_ADC_BASE, 0U, &lpadcTriggerConfig); } void DEMO_ADC_ETC_DONE0_Handler(void) { ADC_ETC_ClearInterruptStatusFlags(DEMO_ADC_ETC_BASE, kADC_ETC_Trg3TriggerSource, kADC_ETC_Done0StatusFlagMask); g_AdcConversionDoneFlag = true; /* 从触发源链 0 中获取结果 */ g_AdcConversionValue = ADC_ETC_GetADCConversionValue(DEMO_ADC_ETC_BASE, DEMO_ADC_ETC_TRIGGER_GROUP, 1U); __DSB(); } 而 (1) { g_AdcConversionDoneFlag = false; PRINTF("按任意键获取用户通道的ADC值。rn"); 获取字符(); ADC_ETC_DoSoftwareTrigger(DEMO_ADC_ETC_BASE, DEMO_ADC_ETC_TRIGGER_GROUP); /* 执行软件 XBAR trigger3。*/ while (!g_AdcConversionDoneFlag) { } PRINTF("ADC转换值为%drn", g_AdcConversionValue); } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36421 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4867 浏览 1 评论
6108 浏览 1 评论
6818 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4249 浏览 0 评论
645浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
643浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
645浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
729浏览 2评论
844浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 17:22 , Processed in 1.444465 second(s), Total 96, Slave 80 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号