29.08.2013 Views

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

if (step2==8)<br />

step2=0;<br />

//wake up<br />

ISR(SIG_INTERRUPT1){ //interrupt.<br />

//cli();<br />

//sleep_disable();<br />

}<br />

/* START OF ULTRASOUD */<br />

ISR(INT0_vect){<br />

if( PIND&0x04 ){<br />

if( ultraMode==ULTRA_WAITRETURN ){ //if PINB 2 (INT0) = 1<br />

ultraTimerReset();<br />

ultraMode = ULTRA_RUNNING;<br />

}<br />

}<br />

else{<br />

ultraTime = TCNT1;<br />

ultraMode = ULTRA_WAITING;<br />

ultraTimerReset();<br />

}<br />

}<br />

ISR(TIMER1_COMPA_vect){<br />

if(ultraMode == ULTRA_SIGNAL){<br />

PORTD&=~0x02;<br />

ultraMode = ULTRA_WAITRETURN;<br />

ultraTimerReset();<br />

}<br />

}<br />

ISR(TIMER1_COMPB_vect){<br />

if(ultraMode == ULTRA_WAITING){<br />

ultraMode = ULTRA_READY;<br />

ultraStart();<br />

}<br />

}<br />

ISR(TIMER1_OVF_vect){<br />

ultraMode = ULTRA_READY;<br />

}<br />

char ultraStart(){<br />

if(ultraMode == ULTRA_READY){<br />

PORTD|=0x02;<br />

ultraTimerReset();<br />

ultraMode = ULTRA_SIGNAL;<br />

return 0;<br />

}<br />

return 1;<br />

}<br />

unsigned char ultraRead(){<br />

//PORT A = (ultraTime/ 1024);<br />

return (unsigned char)(ultraTime/1024);<br />

}

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

Saved successfully!

Ooh no, something went wrong!