标题:
STC15W4K32S4单片机ADC怪现象调试
[打印本页]
作者:
jl48q
时间:
2023-7-21 07:29
标题:
STC15W4K32S4单片机ADC怪现象调试
各位大侠,STC15W4K32S4 ADC出现怪现象,ADC0无法启动转换,其他ADC1~ADC7都没问题,不知是程序哪里没设置对,望大侠赐教
uchar AD(uchar n)
{
ADC_CONTR = 0x88|n; // 0x88+n;
_nop_(); //等待4个NOP
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & 0x10));//等待ADC转换完成
ADC_CONTR &= ~0x10; //Close ADC
return ADC_RES; //返回ADC结果
}
作者:
cnfloatleaf
时间:
2023-7-21 11:28
看上去没毛病,我是先配置好寄存器,再START ADC
ADC_CONTR = ADC_CONTR | ch;
ADC_CONTR = ADC_CONTR | 8;
作者:
760656130
时间:
2023-7-21 12:17
检查一下通道0是否为设置为模拟输入,有没有别的外设占用这个通道
作者:
jl48q
时间:
2023-7-21 15:36
问题解决了,还是要仔细读厂家给的资料啊!
STC15W4K32S4一定要初始化ADC,STC12、STC8都不需要
void InitADC()//初始化
{
P1ASF
= 0x63; //设置P10 11 15 16口为AD口 其他为普通IO
ADC_RES = 0; //清除结果寄存器
ADC_CONTR = 0x80| 0x00;
delay(2); //ADC上电并延时
}
原来用的是STC8G单片机,但是这款芯片比较容易被干扰,现在换用比他贵2圆的STC15W试试看,管脚都一样以为换上稍微调整一下就能使用,没想到ADC上卡了俺一天的时间
51hei图片_20230721154502.jpg
(1.47 MB, 下载次数: 53)
下载附件
2023-7-21 16:30 上传
作者:
coody_sz
时间:
2023-7-24 11:03
那就奇怪了,ADC只有一个,通过多路开关选择一个输入端,不可能选择某个输入端就启动不了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1