Chào các bác . Em đang làm cái BTL đo nhiệt độ bằng DS18B20 và đo khoảng cách dùng ADC.
Em dùng CodeVision AVR . Em test riêng thì cả 2 code đều Ok nhưng khi làm 1 code chung thì đo nhiệt độ không chạy . Ngay cả khi em bỏ đọc ADC của con sensor k/c trong hàm while thì nhiệt độ vẫn ko đọc được . Lần mò 1 hồi, em loại bỏ thêm phần khởi tạo
trong main ()
thì lại đọc được nhiệt độ bt. Vậy là tại sao hả các bác .Bây giờ làm thế nào để đọc dc cả nhiệt độ và ADC ?
P/S : Em có thêm 1 điều nhỏ muốn hỏi là ban đầu em viết cái code đo nhiệt độ thì chạy Ok . SAu đó em viết cái code khác giống y chang thì lại ko đọc được đến câu lệnh
thì nó chỉ hiện ra "4f" thôi mà ko phải là giá trị tg. Em liền copy, paste cả cái code ban đầu của em vào cái code mới thì vẫn như vậy . Em ko hiểu tại sao luôn , bác nào giải thích hộ em với
Mong hồi âm . Thanks nhiều !
Em dùng CodeVision AVR . Em test riêng thì cả 2 code đều Ok nhưng khi làm 1 code chung thì đo nhiệt độ không chạy . Ngay cả khi em bỏ đọc ADC của con sensor k/c trong hàm while thì nhiệt độ vẫn ko đọc được . Lần mò 1 hồi, em loại bỏ thêm phần khởi tạo
trong main ()
Code:
ADMUX=FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff); ADCSRA=0xEB; SFIOR&=0x1F;
P/S : Em có thêm 1 điều nhỏ muốn hỏi là ban đầu em viết cái code đo nhiệt độ thì chạy Ok . SAu đó em viết cái code khác giống y chang thì lại ko đọc được đến câu lệnh
Code:
sprintf(lcd_buffer,"%.4f",tg);
Mong hồi âm . Thanks nhiều !
Comment