|
求助以下兩個(gè)DelayX10us函數(shù)循環(huán)有沒有區(qū)別?51單片機(jī)中在設(shè)定溫度傳感器的等待時(shí)間的時(shí)候,為什么前者不能初始化,后者就能初始化呢?
void DelayX10us(unsigned char t){
while(t--){
_nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_();
}
}
void DelayX10us(unsigned char t){
do{
_nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_();
}while(--t);
}
—————————————————————
bit Get18B20Ack(){
bit ack;
EA = 0;
IO_18B20 = 0;
DelayX10us(50);
IO_18B20 = 1;
DelayX10us(6);
ack = IO_18B20;
while(!IO_18B20);
EA = 1;
return ack;
}
|
|