www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC 18F1320 USART Lösung (PICDEM 4 Demoboard)


Autor: Christian Schwele (wolpi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, ich weiß zwar nicht, was mit meinem Eintrag vor einer Woche 
passiert ist. Aber egal.
Ich hatte das Problem eine Verbindung von meinem P18F1320 zum PC 
herzustellen. Über RS232.
Nein, ich habe kein Problem mehr damit, das Programm läuft einwandfrei. 
Ich dachte mir, das ich das hier einfach mal reinstelle. Vielleicht 
hilft das ja anderen auch weiter.
Ich benutze die Testplatine von Mikrochip PICDEM 4 Demoboard auf dem 
hardwaremäßig soweit alles vorhanden ist, was man zum übertragen 
braucht.
Programmiere mit Microchip MPLAB 7.5 und die C18 Erweiterung für C.
Der Kontroller läuft von Hause aus auf 8 Mhz...aber das seht ihr dann ja 
im Programm:

void RegInit(void);

void main(void)
{
  unsigned char dummy = 0x00;

  RegInit();  // Initialisiere USART (RS232)

  while(1)
  {
    if(PIR1bits.RCIF)  // RCIF wird gesetzt, wenn Daten empfangen wurden
    {
       dummy = RCREG;  // empfangene Daten auslesen (RCREG könnte
                           // auch direkt an TXREG übergeben werden)
       TXREG = dummy;  // empfangene Daten zurückschicken
    }      // benutze hier ein DOS-Programm (TPCON) auf
                           //dem PC, mit dem ich HEX
  }             // direkt über COM1 senden und lesen kann
}    // Ob es mit Hyperterminal auch funzt weiß i leider ned

void RegInit(void)
{
  ADCON1 = 0x60;  // Aus- und Eingang auf digital umstellen
  ADCON0 = 0x01;  // DA-Wandler einschalten
  OSCCON = 0x60;  // interne Frequenz auf 4 Mhz einstellen,
                           // läuft sonst mit 8 Mhz
  TXSTA = 0x24;  // TXEN = Transmitter aktivieren, BRGH = high
                           // speed
  SPBRG = 26;     // baud rate 9600
  PIE1 = 0x30;  // Interrupts für TX und RX aktivieren
  INTCON = 0xC0;  // enable globally interrupts
  RCSTA = 0x90;  // SPEN = seriellen Port aktivieren, CREN =
                           //Modul einschalten
}


Hoffe das bringt dem einen oder anderen was.

Viele Grüsse

Chris

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.