mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IR-Sender mit msp430


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benjamin Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?????

Autor: Benjamin Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.