HC32F460 ADC怎么测量引脚电压
请问F460的官方例程不可以直接测量引脚电压吗,在例程里面无论怎么改输入通道,测量出来的电压值都是3.3v左右,请问那我要是想测量一个引脚的电压的话应该怎么弄啊,用的例程是adc_sa_base;static void AdcChannelConfig(void)
{
stc_adc_ch_cfg_t stcChCfg;
uint8_t au8Adc1SaSampTime = ADC1_SA_CHANNEL_SAMPLE_TIME;
uint8_t au8Adc2SaSampTime = ADC2_SA_CHANNEL_SAMPLE_TIME;
MEM_ZERO_STRUCT(stcChCfg);
stcChCfg.u32Channel= ADC1_SA_CHANNEL; //设置采样通道
stcChCfg.u8Sequence= ADC_SEQ_A; //序列A采样
stcChCfg.pu8SampTime = au8Adc1SaSampTime;//ADC通道采样时间
/* 1. Set the ADC pin to analog mode. */
AdcSetChannelPinMode(M4_ADC1, ADC1_CHANNEL, Pin_Mode_Ana);//设置采样引脚模式及通道映射
/* 2. Add ADC channel. */
ADC_AddAdcChannel(M4_ADC1, &stcChCfg);//配置ADC通道设置
/* 3. Configure the average channel if you need. */
ADC_ConfigAvg(M4_ADC1, AdcAvcnt_32);
/* 4. Add average channel if you need. */
ADC_AddAvgChannel(M4_ADC1, ADC1_AVG_CHANNEL);
stcChCfg.u32Channel= ADC2_SA_CHANNEL;
stcChCfg.pu8SampTime = au8Adc2SaSampTime;
/* 1. Set the ADC pin to analog mode. */
AdcSetChannelPinMode(M4_ADC2, ADC2_CHANNEL, Pin_Mode_Ana);
/* 2. Add ADC channel. */
ADC_AddAdcChannel(M4_ADC2, &stcChCfg);
/* 3. Configure the average channel if you need. */
ADC_ConfigAvg(M4_ADC2, AdcAvcnt_64);
/* 4. Add average channel if you need. */
ADC_AddAvgChannel(M4_ADC2, ADC2_AVG_CHANNEL);
}
程序里直接修改设置采样通道这里,加了几个通道,但是每个通道显示的电压还是3.3左右,但是引脚并没有外接电压
有哪位老哥用过这款芯片吗 请问你为什么要先加通道测试,而不是先测试例程,例程测试通过了再根据自己的理解去增加通道或者修改例程代码。
按照你的描述,我觉得你是还没学会走路的情况下直接要迈开腿跑步,不摔倒就不正常了。 wubangmi 发表于 2022-5-10 12:10
请问你为什么要先加通道测试,而不是先测试例程,例程测试通过了再根据自己的理解去增加通道或者修改例程代 ...
因为我想用它检测引脚电压值,可是例程里面直接出来的是3.3v电压,不应该是引脚有电压输入之后才有转换值吗,不知道他这个测得是哪里的3.3v,我认真看了下手册,好像也没有讲这个的,只有一个外部通道和内部通道切换 ADC12_IN10 value 4019.
ADC12_IN10 voltage is 3.2262V.
ADC1_IN0 value 4022.
ADC1_IN0 voltage is 3.2286V.
ADC1_IN1 value 4022.
ADC1_IN1 voltage is 3.2286V.
ADC1_IN2 value 4021.
ADC1_IN2 voltage is 3.2278V.
ADC12_IN10 value 4019.
ADC12_IN10 voltage is 3.2262V.
ADC1_IN0 value 4022.
ADC1_IN0 voltage is 3.2286V.
ADC1_IN1 value 4022.
ADC1_IN1 voltage is 3.2286V.
串口调试助手打印出来电压已经有3.3v,但是测量引脚电压又没有3.3v 它这个也不是选择的内部通道,不知道这个电压值怎么来的
例程里出来的不是3.3V啊,这是我用例程跑的,相应的采样通道我没接电压 wubangmi 发表于 2022-5-10 15:52
例程里出来的不是3.3V啊,这是我用例程跑的,相应的采样通道我没接电压
我看你这个是IN16,也没有这个引脚啊,你测的是内部通道的吗,可是我的输出就是3.2几v,难道是芯片不一样a吗,我用的是100个脚的{:dizzy:} 万用表对比下 本帖最后由 请叫我污春 于 2022-5-13 11:46 编辑
wubangmi 发表于 2022-5-10 15:52
例程里出来的不是3.3V啊,这是我用例程跑的,相应的采样通道我没接电压
我原封不动烧例程进去输出还是3.3v左右,和电压表实际测得的值不一样,电压表测的是一点几v,我确认下这个adc_01_sa_base例程是检测的引脚电压值吧,还有我无论改哪个通道显示都是3.3v左右,快麻了 kiwis66 发表于 2022-5-11 21:44
万用表对比下
测得的引脚电压值和串口打印出来的值不匹配
这是我跑的例程的ADC采样打印纸,PC0口的输入电压为稳压源,2.64V输入,计算后的值打印如图。
例程的时钟倍频用的是外部8M倍频的,请注意一下。
如果你确定已经注意到了主频而例程还不行,那就奉劝你一句,不要浪费时间了,直接放弃吧, wubangmi 发表于 2022-5-13 13:53
这是我跑的例程的ADC采样打印纸,PC0口的输入电压为稳压源,2.64V输入,计算后的值打印如图。
例程的时钟 ...
我用的外部晶振也是8M的,我试了adc_11_channel_remap这个例子,还是输出打印还是3.3v左右,打算先不高adc了,不晓得毛病出在哪了{:cry:},多谢大哥 引脚上输入的电压是多少啊? 这个型号的例程很多的 请叫我污春 发表于 2022-5-13 11:42
测得的引脚电压值和串口打印出来的值不匹配
这种情况,要看初始化配置,adc基准 littlelida 发表于 2022-5-13 20:48
这个型号的例程很多的
请问除了官网什么地方还有例程啊 kiwis66 发表于 2022-5-14 14:19
这种情况,要看初始化配置,adc基准
请问你说这个基准是在那里配置的啊,我只看到最后计算的时候有一个ADC_VREF基准电压 yangxiaor520 发表于 2022-5-13 18:32
引脚上输入的电压是多少啊?
引脚没有外接输入电压,只是用万用表测的话大概有1.6v左右,但是用示波器看的话没有电压值,现在就很纳闷,无论ADC输入引脚怎么改,串口打印输出都是3.3v左右 硬件电路查一下吧
页:
[1]
2