基于mega16的tlc1543驱动,为啥单片机接不到数据,大家帮看看
uintAD_TLC1543(ucharchn){uintADdata;uchari,temp;ADdata=0;//初始化数据AD_EOC=1;AD_CS=1;Dela...
uint AD_TLC1543(uchar chn){ uint ADdata; uchar i, temp; ADdata=0;//初始化数据 AD_EOC=1; AD_CS=1; Delay(1); AD_CS=0;//CS下降沿 Delay(1); chn=chn<<4; for(i=0;i<4;i++) //输入需要转换的通道的编码 { temp=chn; AD_CLK=0; Delay(1); if(temp&0x80) {AD_ADDR=1;} else {AD_ADDR=0;} AD_CLK=1; Delay(1); chn=chn<<1; } for(i=0;i<6;i++) //输入转换时钟 { AD_CLK=0; Delay(1); AD_CLK=1; Delay(1); } AD_CS=1;//CS拉高 while(!AD_EOC);//等待转换结束 ADdata=0;//初始化数据 AD_CS=0; Delay(1); for(i=0;i<10;i++) //读取10位bit值 { AD_CLK=0; Delay(1); ADdata<<=1; if(AD_SDO) {ADdata|=0x0001;} AD_CLK=1; Delay(1); } return ADdata; //返回转换结果 }
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询