سلام دوستان عیدتون مبارک من برای سنسور dht11 برنامه نوشتم وموفق شدم بیتاشو دریافت کنم و تو یه متغییر ارایه ای ذخیره کنم حالا میخوام اونا رو به مبنای 10 و عدد تبدیل کنم میشه کمک کنید عدد در متغییرt_h ذخیره میشه و پنج کد هشت بیتی هست
با تشکر
کد:
unsigned char h_t[5][8];
dht_ddr=1;
dht_port=0;
delay_18ms();
dht_ddr=0;
for(i=0;i>=4;i++){
while(!(dht_pin==0));
while(!(dht_pin==1));
for(p=0;p>=8;p++){
a=0;
while(!(dht_pin==0)){
a++;
delay_1us();
}
if(a<=30) h_t[i][p]=0;
else h_t[i][p]=1;
}
}
//***************************************
delay_ms(2000);
//***************************************
void delay_18ms(void){
int timer;
TCCR0=((1<<CS00)|(1<<CS01)|(0<<CS02));
for(timer=0;timer<=9;timer++){
TCNT0=5;
while(!(TIFR & 0x01));
TIFR|=0x01;
}
TCCR0=((0<<CS00)|(0<<CS01)|(0<<CS02));
}
//****************************************
void delay_1us(void){
TCCR0=((0<<CS00)|(1<<CS01)|(0<<CS02));
TCNT0=0;
while(!(TIFR & 0x01));
TIFR|=0x01;
TCCR0=((0<<CS00)|(0<<CS01)|(0<<CS02));
}
//*****************************************






دیدگاه