Exemplo n.º 1
0
void SW_timer_handler()
{
    char buffer[20];
    uint8_t timnum;
    for(timnum=0;timnum<SWTIMERNUM;timnum++)
    {
        if(BitTst(SWtimerFlags,BitMsk(timnum)))
        {
            switch (timnum)
            {
                case 0 :
                    LED_action(LED1,TOGGLE);
                    break;
                case 1 :
                    therm_read_temperature(buffer);
                    debug_send(buffer);
                    break;
                case 2 :
                    LED_action(LED2,TOGGLE);
                    break;
                case 3 :
                   LED_action(LED3,TOGGLE);
                    break;
            }

            BitClr(SWtimerFlags,BitMsk(timnum));
        }
    }
    go_to_sleep();
}
Exemplo n.º 2
0
int main(void)
{
	// init max7219 spi communication
	matrix_init();
	
	// define variable that will hold temperature digit and decimal part
	int8_t digit = 0;
	uint16_t decimal = 0;
		
	while(1) {

		therm_read_temperature(&digit, &decimal);		
				
		// calculate digits
		char digit3 = digit/100;
		char kalan = digit%100;
		char digit2 = kalan/10;                      
		char digit1 = kalan%10;	
		
		// calculate digits of the decimal part
		char decimal4 = decimal/1000;	
		kalan = decimal%1000;
		char decimal3 = kalan/100;
		kalan = decimal%100;
		char decimal2 = kalan/10;                      
		char decimal1 = kalan%10;	

		// print values to 7 segment display
		matrix_transmit(1, digit_map[digit2]);
		matrix_transmit(2, (digit_map[digit1]) | 0b10000000);  // Light up the "dot" in the digit
		//matrix_transmit(4, digit_map[decimal4]);
		//matrix_transmit(5, digit_map[decimal3]);
		//matrix_transmit(6, digit_map[decimal2]);
		//matrix_transmit(7, digit_map[decimal1]);
		
		//_delay_ms(1000);
	}
	
	return 0;
}