完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include quot;STM32f10x.h quot;
#define ADC1_DR_Address ((u32)0x4001244C) void tiM1_UP_IRQHandler(void) { round1++; TIM_ClearITPendingBit(TIM1, TIM_IT_Update); } void TIM2_IRQHandler(void) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); ADC_SoftwareStartConvCmd(ADC1,ENABLE); // while(!(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC))); while(!(DMA_GetFlagStatus(DMA1_FLAG_TC1))); adc_current=adc_value[0]; adc_voltagea=adc_value[1]; adc_voltageb=adc_value[2]; // while(!times); // while(!(times==3)); // times=0; DMA_ClearFlag(DMA1_FLAG_TC1); // ADC_ClearFlag(ADC1, ADC_FLAG_EOC); i++; LED_on; if(i==7) { i=0; Max_cu=adc_current[0]; Min_cu=adc_current[0]; sum_cu=adc_current[0]; Max_voa=adc_voltagea[0]; Min_voa=adc_voltagea[0]; sum_voa=adc_voltagea[0]; Max_vob=adc_voltageb[0]; Min_vob=adc_voltageb[0]; sum_vob=adc_voltageb[0]; for(i=1;iMax_cu) Max_cu=adc_current; if(adc_currentMax_voa) Max_voa=adc_voltagea; if(adc_voltageaMax_vob) Max_vob=adc_voltageb; if(adc_voltageb[/td] |
|
相关推荐
1个回答
|
|
从您提供的代码片段来看,这个问题可能涉及到多个方面。以下是一些建议和可能的原因:
1. 确保ADC和DMA配置正确:首先,您需要确保ADC(模数转换器)和DMA(直接内存访问)的配置是正确的。这包括设置正确的时钟、通道、触发源等。 2. 检查中断服务例程:在您的代码中,您已经定义了两个中断服务例程(ISR):TIM1_UP_IRQHandler 和 TIM2_IRQHandler。请确保这些ISR正确地处理了中断,并触发了ADC和DMA的启动。 3. 检查ADC数据寄存器:您已经定义了一个宏 ADC1_DR_Address,它指向ADC1的数据寄存器。请确保这个地址是正确的,并在代码中正确地读取了ADC值。 4. 检查DMA传输:确保DMA配置正确,以便它能够从ADC数据寄存器中读取数据并将其传输到内存中。检查DMA的传输方向、目标内存地址等参数。 5. 检查三通道配置:请确保您的ADC配置了三个通道,并且它们都已正确配置。这可能包括设置正确的输入通道、采样时间和分辨率等。 6. 检查代码逻辑:检查您的代码逻辑,确保在采集数据时没有逻辑错误。例如,确保在采集数据之前已经启动了ADC和DMA。 7. 调试和测试:使用调试工具(如ST-Link)逐步执行代码,观察ADC和DMA的寄存器值,以确定问题所在。您还可以尝试使用简单的测试代码,例如仅采集一个通道的数据,以排除其他通道的干扰。 8. 硬件问题:如果以上步骤都无法解决问题,请检查硬件连接和电路板,确保没有硬件故障。 总之,要解决这个问题,您需要从多个方面进行排查。检查ADC和DMA的配置、中断服务例程、数据寄存器、传输设置等。同时,使用调试工具和测试代码来帮助定位问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1786 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1622 浏览 1 评论
1089 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
730 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1942浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
739浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
576浏览 3评论
599浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
561浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 23:29 , Processed in 0.456237 second(s), Total 42, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号