Morgen ersteinmal ja zu meinen Problem ich soll einen Ir-Sender mit msp430x11x1b chip so programmieren das ein: Impulsanstiegszeit auf 90% : 20 us Impulsdauer (90%) : 475us Impulsabsatnd : 7,8ms ausgelöst wird doch leider hab ich gar kein plan davon hätte von euch jemand eine idea??? Ich danke euch schon mal in voraus
Wer gibt dir so eine Aufgabe? Wo ist das Problem: Timer-Programmierung ansehen und dann per Interrupt Impulse ausgeben. Oder DAs ganze Per nop(); bzw. wait(); - Befehlen lösen. Ist aber recht unsauber. Mit einem Oscylloscop musst du mal sehen, was an Impulsen raus geht. Benni
nja is schon realtiv genau #include <msp430x11x1.h> void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT unsigned int counter=0; P1DIR |= 0x01; // P1.0 output P1OUT = 0; CCTL0 = CCIE; // CCR0 interrupt enabled CCR0 = 361; //wie lange periode TACTL = TASSEL_2 + MC_1 + ID_0; // SMCLK, upmode, 1/8 _BIS_SR(GIE); // Enter LPM0 w/ interrupt } // Timer A0 interrupt service routine #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) { P1OUT ^= 0x01; //meine led daran schliess ich mei ozi an aber ich //brauch nun noch was womit ich das low also 0 lev halten //kann } oder ist es besser wenn ich den timer nähme und das auszähle also mit ein counter?????
Hallo Christoph! Mit unkonkret meine ich, ob du dir mal die Spezifikation für IR-Code angesehen hast. z.B. Wird ja nicht einfach eine IR-LED ein und ausgeschaltet, sondern das Licht z.B. mit 38kHz "moduliert". Weiter ist das Problem, daß du ein Wort aus z.B. 15 Bit benötigst und das dann in einem Takt von z.B. 1,75 ms ausgibst. Die ersten 2 Bit sind aber wiederum gegen die anderen um eine halbe Zeiteinheit verschoben. Wo genau liegt dein Problem? Das habe ich noch nicht geschnallt. Das ausgeben der Bits Hi oder Low bekommt man ganz gut mit "Shiften" hin. Benni
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.