我用GZ48作的AD转换中断函数如下
ADBUF是一个全局变量
void AtoD(int channel) { unsigned char tmp,adbuf1,adbuf2; tmp=ADSCR & 0xe0; //给0-4位清零 tmp=tmp | channel; ADSCR=tmp; //选取通道ADCH4-ADCH0=00000-10111:AD0 pin-AD23 pin } interrupt 16 void ADreceive(void)
{
adbuf1=ADRH; adbuf2=ADRL; ADBUF=adbuf1*256+adbuf2;
}
请指教,告诉我问题所在。谢谢! |