ADC多通道逐次转换(不用DMA)
来源:互联网 发布:周振兴 mysql 编辑:程序博客网 时间:2024/05/23 12:52
之前看到一篇文章【STM32F10x_ADC三通道逐次转换(单次、单通道软件触发)】原博主用的是规则组间断模式,但是我参考他的例程自己读取出来的结果每次都只有最后一通道的值,原因暂时不明。
因为我用的通道不多,就用了一个比较笨的方法。
ADC配置如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); ADC_DeInit(ADC1); /* ADC1 configuration ----------*/ ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode = ENABLE; ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel = 1; ADC_Init(ADC1, &ADC_InitStructure); ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1));
切换并使能ADC通道的函数如下:
void ADC_Time(void){ if(++AdcTime > 10) { AdcTime = 0; Adc1Flag =~AdcFlag; if(Adc1Flag) { ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_41Cycles5); ADC_SoftwareStartConvCmd(ADC1, ENABLE); } else { ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 1, ADC_SampleTime_41Cycles5); ADC_SoftwareStartConvCmd(ADC1, ENABLE); } } }
读取数据在中断子程序中完成:
void ADC_Handler(void){ if(ADC_GetITStatus(ADC1,ADC_IT_EOC) == SET) { ADC_ClearITPendingBit(ADC1,ADC_IT_EOC); if(Adc1Flag) { Value1=ADC_GetConversionValue(ADC1); AdcOverFlag1 = 1; } else { Value2=ADC_GetConversionValue(ADC1); AdcOverFlag2 = 1; } }}
阅读全文
0 0
- ADC多通道逐次转换(不用DMA)
- DMA+ADC单通道转换、多通道转换
- STM32F407IG多通道ADC-DMA采样
- STM32F407的ADC之DMA多通道
- stm32 多通道ADC+DMA采集
- STM32 DMA 多通道 ADC 采集
- STM32F ADC 多通道 非DMA
- STM32 ADC多通道转换(转)
- stm32 adc dma多通道采样 数据错位 的解决方法
- stm32的多通道ADC和DMA的设置问题
- STM32F407的ADC之DMA多通道+温度
- STM32 ADC 规则多通道转换
- STM32 ADC 规则多通道转换
- 经典STM32 ADC多通道转换
- STM32F4系列单片机ADC多通道DMA程序,注意DMA配置一定要先于DAC的配置
- STM32F407 单通道ADC采样,DMA传输
- stm32AD单通道与多通道转换(DMA)
- STM32--ADC(DMA)
- redis关闭保护模式
- JQuery以JSON方式提交数据到服务端
- android.permission.MOUNT_UNMOUNT_FILESYSTEMS权限
- 21.AlertDialog普通对话框的使用
- '$.browser.msie' 为空或不是对象的问题
- ADC多通道逐次转换(不用DMA)
- Scikit-Learn 中文文档】数据集加载工具
- Spring Boot教程四:使用Druid和监控配置
- Object Detection系列(一)R-FCN
- 项目启动连接不上MySql
- 号码提取
- IE下getTime()返回NaN
- 利用sourceTree管理gitlab[纯操作]
- ELDD读书笔记:第五章 字符设备驱动程序