void delay(unsigned int x) //1.5us左右
{
while(x)
{
x--;
}
}
void init_1820(void)
{
DS18B20_SET;
DS18B20_CRL;
delay(400); //480us以上
DDRC|=(1<<PC0);
DS18B20_SET;
DDRC&=~(1<<PC0);
delay(40); //15~60us
while(PINC&(1<<PC0)) //<<<<---------1
{
;
}
DDRC|=(1<<PC0);
DS18B20_SET;
delay(150); //60~240us
}
执行到1的位置过不去了,是不是哪段时序没弄对?
我用的MEGA128,晶振是7.多M的
大家帮帮忙 |