【已解决】stc8h1k08如何测两路adc值?
本帖最后由 泰勒soc 于 2023-10-23 16:30 编辑假设,我想要测ADC_CH12和ADC_CH13。我先测ADC_CH12,然后更改通道,再测ADC_CH13。循环测这两路ADC值,这个方案可以吗?还有需要更改的地方吗?
这个操作是可以的
如果想要进行性能优化,可以在以下方向改进
==打开adc中断,中断里存下值并且开启下一个通道读取,可以避免查询方式浪费时间
王昱顺 发表于 2023-10-17 11:48
这个操作是可以的
如果想要进行性能优化,可以在以下方向改进
==打开adc中断,中断里存下值并且开启下一个 ...
我是在中断里读值并更改通道的,但是好像更改通道没有成功。
代码:
ADC_CONTR &= 0xf0; //清空通道
ADC_CONTR |= ADC_CH12; //选择通道电池
ADC_CONTR &= ~ADC_FLAG; //清完成标志//清中断标志~0x20;
ADC_CONTR |= ADC_START; //继续AD转换
ADC_CONTR &= 0xf0; //清空通道
ADC_CONTR |= ADC_CH13; //选择通道电机
ADC_CONTR &= ~ADC_FLAG; //清完成标志//清中断标志~0x20;
ADC_CONTR |= ADC_START; //继续AD转换
还有需要注意的地方吗? 本帖最后由 王昱顺 于 2023-10-17 14:09 编辑
泰勒soc 发表于 2023-10-17 13:04
我是在中断里读值并更改通道的,但是好像更改通道没有成功。
代码:
ADC_CONTR &= 0xf0; //清空通 ...
每次转换只能转换一个通道,所以在中断里面需要先判断当前转换的通道,再设定下一个转换的通道
你的转换如果不成功的话,可以试一下官方的程序模板
根据你的程序来看,你似乎缺少了打开ADC电源的部分
必须可以!多个通道的ADC,就是不断切换通道数做ADC即可。 有没有双路adc采集的代码给一份
本帖最后由 泰勒soc 于 2023-11-20 15:15 编辑
曹+1 发表于 2023-11-19 19:40
有没有双路adc采集的代码给一份
在中断里面切换通道就行了,例如第一次通道为12,下一次通道为13 我想要一个现成的代码
曹+1 发表于 2023-11-20 20:06
我想要一个现成的代码
请问解决了吗
页:
[1]