Rev 132 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include <avr/io.h>#include <avr/wdt.h>#include <avr/interrupt.h>#include <string.h>#include <util/delay.h>#include <stdlib.h>#include "config.h"#include "avrutil.h"#include "hc595.h"#include "twires.h"#ifndef NULL#define NULL ((void *)0)#endifvoid writeSegment(uint8_t digit, uint8_t value);void pcInterrupt(void);void receiveEvent(uint8_t bytes);/* ------------------------------------------------------------------------- */volatile uint8_t user_debug = 0;volatile uint8_t tmr0_ovf = 0;int main(void) {/*DDR : 1 = Output, 0 = InputPORT: 1 = Pullup for Input, otherwise set outputPIN : Read input pinPB0 -PB1 - - USB D- Low SpeedPB2 - - USB D+PB3 - - SDA i2c bbPB4 - - SCL i2c bbPB5 -*/DDRB = 0B00000000;PORTB = 0B00000000;systime = 0;sysclockInit();wdt_enable(WDTO_1S); // Watchdog for 1 secsei(); // Enable interruptsfor(;;){wdt_reset();if (user_debug) {}}return 0;}ISR(TIM0_OVF_vect) {tmr0_ovf++;// Clk/1 TCCR0B = (1<< CS00);//20.0Mhz, 1ms = 78ovf//16.5Mhz, 1ms = 64ovf//16.0Mhz, 1ms = 62ovf//12.0Mhz, 1ms = 46ovf// 8.0Mhz, 1ms = 31ovf// 8.0Mhz, .5ms = 15ovf, 160rif (tmr0_ovf>=64) {systime++;tmr0_ovf = 0;}}