Forum: Mikrocontroller und Digitale Elektronik IR-Sender mit msp430


von Christoph (Gast)


Lesenswert?

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

von Benjamin Johann (Gast)


Lesenswert?

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

von Christoph (Gast)


Lesenswert?

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?????

von Benjamin Johann (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.