27.09.2013 Views

Optisk dataoverførsel til en microcontroller - Danmarks Tekniske ...

Optisk dataoverførsel til en microcontroller - Danmarks Tekniske ...

Optisk dataoverførsel til en microcontroller - Danmarks Tekniske ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

normal operation<br />

extern unsigned char pulse_count;<br />

// ADC manipulation<br />

extern signed int mean_signal;<br />

extern signed int mean_signal_old;<br />

// square wave detection<br />

extern unsigned int period_time;<br />

extern unsigned int period_detected;<br />

extern unsigned char virtual_clock;<br />

// digital values<br />

extern unsigned char digital_value_ready;<br />

extern unsigned int idle_time;<br />

// debugging<br />

extern unsigned char led_refresh;<br />

void interrupt my_isr(void){<br />

// ADC<br />

static unsigned int raw_signal;<br />

static unsigned int raw_signal_buffer[RAW_SIGNAL_BUFFER_LENGTH];<br />

static unsigned char raw_signal_buffer_next = 0;<br />

// Timer 1<br />

static unsigned char pulse_count_time = 0;<br />

static unsigned int led_delay = 0;<br />

static unsigned int signal_measure_time = 0;<br />

static unsigned char signal_measure_ready = false;<br />

unsigned int i,sum;<br />

if((ADIE)&&(ADIF)){ // ADC interrupted<br />

// read A/D-signal from scre<strong>en</strong><br />

raw_signal = (ADRESH

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!