打印
[STM32U5]

【STM32U575】关于ADC多通道采样配置问题

[复制链接]
456|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ppaakala|  楼主 | 2022-8-31 19:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需求:拟用ADC1的IN1~7进行多通道采样,其中IN7通过多路复用开关再扩展七个通道,思路是在单个ADC通道采样中断处理中切换ADC采采样通道。编程实现:
  • Init.NbrOfConversion = 1;
  • Init.EOCSelection =ADC_EOC_SINGLE_CONV;


  • void CfgAdcSampleChannel(ADC_HandleTypeDef *pAdcHandleCfg,UINT32 sample_channel,UINT32 rank)
  • {
  •     ADC_ChannelConfTypeDef sConfig = {0};
  •         sConfig.Channel = sample_channel;         //  输入通道号
  •         sConfig.Rank = ADC_REGULAR_RANK_1;       // ADC常规转换组里的编号
  •         sConfig.SamplingTime = ADC_SAMPLETIME_391CYCLES;  // 采样时间,单位为ADCCLK周期数
  •         sConfig.SingleDiff = ADC_SINGLE_ENDED;         // 选择单端采样
  •         sConfig.OffsetNumber = ADC_OFFSET_NONE;
  •         sConfig.Offset = 0;
  •         HAL_ADC_ConfigChannel(pAdcHandleCfg, &sConfig);
  • }


问题:
1.如何实现多通道的ADC采样频率不同,例如IN1->IN2->IN3->IN1-IN4->IN5,其中IN1采样频率为其他通道的2倍;
2.多通道单次采样是否可以如上面代码所示,在ADC采样中断中仅仅修改Channel 的参数,而rank保持不变?
3.在ADC采样中断处理中是否可以重新配置ADC采样通道及配置?

使用特权

评论回复
沙发
未说出口的像你| | 2022-9-16 07:38 | 只看该作者
为什么有采样频率不同的这种需求啊?

使用特权

评论回复
板凳
失物招領| | 2022-9-16 07:59 | 只看该作者
一般都是初始化的时候配置一下

使用特权

评论回复
地板
春日负喧| | 2022-9-16 08:21 | 只看该作者
第二个问题,正常是可以吧,我觉得

使用特权

评论回复
5
白马过平川| | 2022-9-16 08:43 | 只看该作者
我觉得你可以试试,看看能不能在中断中重新配置

使用特权

评论回复
6
风凉| | 2022-9-16 09:05 | 只看该作者
说实话,没这么试过

使用特权

评论回复
7
在曼谷的春| | 2022-9-16 09:27 | 只看该作者
应该是可以修改通道参数,但是rank变不变我不知道

使用特权

评论回复
8
我吃小朋友| | 2022-9-16 09:49 | 只看该作者
你可以自己 通过代码测试一下嘛

使用特权

评论回复
9
她已醉| | 2022-9-16 10:01 | 只看该作者
一般情况是可以的,但是你这真没这么弄过,不好说

使用特权

评论回复
10
西洲| | 2022-9-16 10:22 | 只看该作者
可以一试,但是我觉得速度应该不能过快才行

使用特权

评论回复
11
捧一束彼岸花| | 2022-9-16 10:45 | 只看该作者
楼主用的多路复用开关,用的那个型号啊?

使用特权

评论回复
12
maqianqu| | 2022-11-19 16:57 | 只看该作者
为什么不使用dma实现多通道采样呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

76

帖子

0

粉丝