/* * main.c * * Created on: 13.03.2013 * Author: Pascal Gollor * web: http://www.pgollor.de * * Dieses Werk ist unter einer Creative Commons Lizenz vom Typ * Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Deutschland zugänglich. * Um eine Kopie dieser Lizenz einzusehen, konsultieren Sie * http://creativecommons.org/licenses/by-nc-sa/3.0/de/ oder wenden Sie sich * brieflich an Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. * * * testet with: * - avr-gcc 4.3.4 * - Atmega8 @ 8 MHz */ #include "main.h" #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "uart.h" #include "am2302.h" #define led_on PORT_LED |= (1 << LED); #define led_off PORT_LED &= ~(1 << LED); int main(void) { am2302_init(); DDR_LED |= (1 << LED); // define as output led_off; uart_init(BAUDRATE); sei(); usart_write_str(CR "--- AM2302 ---" CR); while(1) { uint16_t humidity = 0; uint16_t temp = 0; // turn led on at measurement led_on; uint8_t error = am2302(&humidity, &temp); // get data from am2302 if (!error) { printf("%i,%i%% %i,%iC" CR, humidity/10, humidity%10, temp/10, temp%10); } else { printf("Error %i" CR, error); } // turn led off; led_off; // wait one second _delay_ms(1000); } return 0; }