Im prinzip läuft das so ab, das der Drucksensor eine Initialisierungsphase durchläuft und aller 228µs seinen Statuswert mitteilt. die Wordlänge beträgt dabei 104µs und umfasst 13Bits. Also Paritybit, Datenword und zwei startbits.

This post has been edited 1 times, last edit by "Quizzer11" (Feb 6th 2012, 2:23pm)
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#define F_CPU 20000000UL // 20MHz #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> /*********************************************************/ /* entry point */ /*********************************************************/ int main(void) { /// Enable 8 Bit Timer0 LM_TCCR0 = (1<<CS00); // PRESCALE = 1 // Intervall = (1 / (F_CPU/PRESCALE)) * 256 = 12,8us LM_TIMSK |= (1<<TOIE0); // time overflow interrupt enable /// Enable Output Pins PD5..PD7 DDRD |= 0b11100000; /// enable interrupts sei(); /// main loop while(1) { } } /*********************************************************/ /* timer1 ovferflow interrupt handler */ /*********************************************************/ ISR(TIMER0_OVF_vect) { // send something // wird alle 12,8us aufgerufen bei 20Mhz Taktfrequenz des µC return; } |