STM32
登录
直播中
大彭
10年用户
1064经验值
擅长:电源/新能源 嵌入式技术
私信
关注
[问答]
STM32F0 ADC多通道单次转换,最后一个通道的EOC不置位是为什么?
开启该帖子的消息推送
STM32F0
adc
STM32
F030 ADC采样序列中包括IN0,IN1,IN2三个通道,采用单次转换模式,软件触发启动,但是发现采样转换到最后一个通道IN2时,EOC不会置位,程序进入超时状态。有哪位朋友碰到过此问题?主要代码如下:
uint16_t ADCValue
[
3
;
void
MX_ADC_Init
(
void
)
{
ADC_ChannelConfTypeDef sConfig;
hadc.Instance = ADC1;
hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc.Init.Resolu
ti
on = ADC_RESOLUTION_12B;
hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
hadc.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
hadc.Init.LowPowerAutoWait = DISABLE;
hadc.Init.LowPowerAutoPowerOff = DISABLE;
hadc.Init.ContinuousConvMode = DISABLE;
hadc.Init.DiscontinuousConvMode = DISABLE;
hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc.Init.DMAContinuousRequests = DISABLE;
hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
if
(
HAL_ADC_Init
( hadc) != HAL_OK)
{
_Error_Handler
(__FILE__, __LINE__);
}
sConfig.Channel = ADC_CHANNEL_0;
sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
sConfig.SamplingTime = ADC_SAMPLETIME_7CYCLES_5;
if
(
HAL_ADC_ConfigChannel
( hadc, sConfig) != HAL_OK)
{
_Error_Handler
(__FILE__, __LINE__);
}
sConfig.Channel = ADC_CHANNEL_1;
if
(
HAL_ADC_ConfigChannel
( hadc, sConfig) != HAL_OK)
{
_Error_Handler
(__FILE__, __LINE__);
}
sConfig.Channel = ADC_CHANNEL_2;
if
(
HAL_ADC_ConfigChannel
( hadc, sConfig) != HAL_OK)
{
_Error_Handler
(__FILE__, __LINE__);
}
}
void
Get_ADCVal
(
void
)
{
uint8_t i;
if
(
HAL_ADC_Start
( hadc) != HAL_OK)
{
_Error_Handler
(__FILE__, __LINE__);
}
for
( i=
0
; i<
3
; i++ )
{
if
(
HAL_ADC_PollForConversion
( hadc,
20
) != HAL_OK)
_Error_Handler
(__FILE__, __LINE__);
// ********** 当 i 递增到2时,程序执行死在这里!!!!!!!!!!
else
ADCValue
[
i
=
HAL_ADC_GetValue
( hadc);
}
// HAL_ADC_Stop( hadc);
}
回帖
(1)
王燕
2024-4-16 14:36:22
看起来ADC的转换模式是单次的,所以第二次的转换是没有启动,也就没有EOC。 把ADC的启动放到FOR 循环里就正确了
看起来ADC的转换模式是单次的,所以第二次的转换是没有启动,也就没有EOC。 把ADC的启动放到FOR 循环里就正确了
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32F0
adc
MPC5748G如何
一次
只为
一
个
通道
生成
ADC
EOC
中断?
2023-05-31
254
STM32
通道
和
转换
的概念
2020-04-17
2129
STM32F
030的
ADC
多
通道
DAM方式采样
2018-10-12
11730
STM32
之如何使用DMA进行
多
通道
ADC
转换
2021-10-13
1362
请问
STM32F0
单片机AD采样不准是什么原因?
2018-10-15
6661
学习
STM32
,在
ADC
转换
采集这
一
章,双
adc
采集与
单
adc
采集相同
通道
速度是
一
样的吗?
2019-09-23
2409
请问关于AD7124-8
单
次
转换
模式问题
2018-07-24
5309
ADC
连续
转换
该怎么设置?
2019-08-25
3959
stm8s关于AD 连续
转换
和
单
次
转换
的寄存器问题。求助!
2015-12-15
2848
需要让AD7176-2读取4
个
模拟
通道
的数据,如何不影响
ADC
对
0
通道
进行的AD
转换
?
2023-12-18
263
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分