Термометр на ATmega16 (код)!
Добавлено: Ср апр 28, 2010 17:50:01
Люди добрые! У меня проблема возникла, надеюсь подскажите. Нужно сделать термометр в АВР, программирую на Атмеге 16.
в общем есть готовый код, но он не работает, выходит ошибка, не могли бы вы подсказать что не правильно я делаю?
заранее извиняюсь за не переведённый код, к вечеру постараюсь скинуть переведённый! Хотя может и так поймёте...
в общем есть готовый код, но он не работает, выходит ошибка, не могли бы вы подсказать что не правильно я делаю?
заранее извиняюсь за не переведённый код, к вечеру постараюсь скинуть переведённый! Хотя может и так поймёте...
Код: Выделить всё
#include <avr/io.h>
#include <util/delay.h>
#include "lcd_tat.h"
#include "ds1820.h"
#define DELAY 1041
#define TAUSTAVALO 1<<0
void Tulosta(uint16_t temp_anturista);
int main(void)
{
uint16_t temp_anturista = 0;
LCD_init(1,0,0);
LCD_WriteString("Lämpötila:");
while(1)
{
temp_anturista = GetTemp();
Tulosta(temp_anturista);
_delay_loop_1(STARTDELAY_MS*10);
}
}
void Tulosta(uint16_t temp_anturista)
{
DDRC |= TAUSTAVALO;
PORTC |= TAUSTAVALO;
uint16_t temp_apu = 0;
if(temp_anturista < 0)
LCD_WriteChar('-');
temp_apu = (temp_anturista*125)/255;
LCD_SetCursorXY(0, 1);
LCD_WriteUINT(temp_apu);
if(temp_anturista % 2)
LCD_WriteString(",5 C");
else
LCD_WriteString(",0 C");
}