| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > термометр в codevision ds18b20 |
| Автор: skalish 2.10.2008, 19:00 |
| Я новичок в программировании пытаюсь собрать термометр в codevisionavr з двома датчиками температуры DS18B20 , МК ATMEGA8 и LCD LM016L При запуске,МК находит только один датчик. Что я делаю не так? #include <mega8.h> #asm .equ __w1_port=0x15 ;PORTC .equ __w1_bit=0 #endasm #include <1wire.h> #include <ds18b20.h> #define MAX_DS1820 8 unsigned char rom_codes[MAX_DS1820][9]; #include <stdio.h> char lcd_buffer[33]; #include <delay.h> #asm .equ __lcd_port=0x18 ;PORTB #endasm #include <lcd.h> int temp[8]; void main(void) { unsigned char devices,i; lcd_init(16); delay_ms(200); devices=w1_search(0xf0,rom_codes); sprintf(lcd_buffer," devices=%u",devices); // devices = 1 ): ??? lcd_clear(); lcd_puts(lcd_buffer); delay_ms(2000); while (1) { temp[0]=ds18b20_temperature(&rom_codes[i][0]); if (temp>1000){ temp[0]=4096-temp[0]; temp[0]=-temp[0]; } sprintf(lcd_buffer,"t=%i.%u\xdfC",temp[0],temp[0]%1); lcd_clear(); lcd_puts(lcd_buffer); delay_ms(500); }; } |
| Автор: J0ker 3.10.2008, 00:33 |
обращаешься не по адресу тебе сюда: http://forum.vingrad.ru/forum/tech-controllers-programming.html |