Tanken är att man ska schemalägga när man ska nyttja bilen (och kunna göra tillfälliga ändringar) och timern sätter igång värmaren i lagom tid före.

Displayen ser ut så pga ett problem som jag har med följande kod:
Kod: Markera allt
#define MCU_CLK 7372800
#define cbi(port, shift) (port) &= ~(1<<shift)
#define sbi(port, shift) (port) |= (1<<shift) 
#define F_OSC 7372800
#define LCD_TIGHTER_TIMING
#define relay 0
#define light 1
#define	enter 4 
#define	hoger 8
#define	ner 16 
#define vanster 32
#define	upp 64
#include "avr/io.h"
#include "lcd_44780.h"
#include "lcd_44780.c"
#include "avr/interrupt.h"
#include "inttypes.h"
#include "avr/signal.h"
#include "onewire.c"
#include "onewire.h"
volatile unsigned char boolean = 0;
volatile unsigned char secs = 32;
volatile unsigned char mins = 0;
volatile unsigned char hrs = 0;
volatile unsigned int onsecs = 0;
float temperatur;
float gettemp()
	{
	if (ow_reset())
		{
		lcd_clear();
		lcd_home();
		lcd_puts(" Sensor error!  ");
		lcd_puts("Heater disabled");
		cbi(PORTD,relay);
		for(;;);
	
		}
	return temperatur;
	}
SIGNAL(SIG_TIMER1_COMPA)
	{
	boolean = !boolean;
	if ((PIND&enter) == 0)
		{
		cli();
		}
	if (boolean)
		{
		secs++;
		lcd_putchar(secs+'0');
		if (++secs >= 60)
			{
			secs = 0;
			mins++;
			}
		if (++mins >= 60)
			{
			hrs++;
			secs = 0;
			mins = 0;
			}
		if (++hrs >= 24);
			{
			hrs = 0;
			mins = 0;
			secs = 0;
			}
		}
	lcd_putchar(secs+'0');
	}
void setup()
	{
	ms_spin(500);
	lcd_init();
	lcd_puts("Init!");
	//sätt upp 2Hz-interrupt
	TCCR1B = (1<<CS12|1<<CS10|1<<WGM12); //systemklocka/1024
	TIMSK = (1<<OCIE1A);	//Compare1A enable
	OCR1A = 3600; //interrupt två ggr/sek
	DDRD = 0b00000011;
	lcd_home();
	lcd_clear();
	lcd_set_cursor(1,0); //on,blink
	ow_parasite_disable();
	//temperatur = gettemp();
	sei();
	}
int main(void) 
	{
	setup();
  //UART_init();
  	for(;;)
		{	
		/*if ((PIND&enter) == 0)
			{
			cli();
			}*/
		}	
	}
Knappen enter känns inte heller av i interruptet. Klistrar jag däremot in precis samma rader i mainloopen så går det bra.
 
				




 .
. 
 .
.