mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielle Schnittstelle des XC167 (printf())


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin derzeit dabei mich in den XC167CI einzuarbeiten. Zu diesem Zweck 
hab ich mal folgenden Beispiel-Code ausprobiert, den Infineon 
mitliefert:

#include <stdio.h>                /* standard I/O .h-file 
*/
#include <XC167.h>                /* special function register XC161 
*/
#include <math.h>


/****************/
/* main program */
/****************/
void main (void)  {               /* execution starts here 
*/
                                  /* initialize the serial interface 
*/
#ifndef Monitor         /* do not initialize if you use Monitor-166 
*/
  P3  |= 0x0400;        /* SET PORT 3.10 OUTPUT LATCH (TXD) 
*/
  DP3 |= 0x0400;        /* SET PORT 3.10 DIRECTION CONTROL (TXD OUTPUT) 
*/
  DP3 &= 0xF7FF;        /* RESET PORT 3.11 DIRECTION CONTROL (RXD INPUT) 
*/
  ASC0_TIC = 0x80;      /* SET TRANSMIT INTERRUPT FLAG 
*/
  ASC0_RIC = 0x00;      /* DELETE RECEIVE INTERRUPT FLAG 
*/
  ASC0_BG  = 0x40;      /* SET BAUDRATE TO 9600 BAUD @ 20MHz 
*/
  ASC0_CON = 0x8011;    /* SET SERIAL MODE 
*/
  ALTSEL0P3 |= 0x0C00;  /* Configure port pins for serial interface 0 
*/
#endif



  while (1) {                /* An embedded program does not stop and 
*/
  printf ("Hello World\n");  /* the 'printf' function call 
*/
  printf ("A");
  printf ("B");
  printf ("C");
  printf ("D");
    ;  /* ... */             /* never returns.  We've used an endless 
*/
  }                          /* loop.  You may wish to put in your own 
*/
}                            /* code were we've printed the dots (...). 
*/


Leider kommt an der seriellen Schnittstelle aber nur folgendes an:
"HABCDHABCDHABCD......."

Also immer nur der erste Buchstabe des Strings. Vielleicht kann mir ja 
jemand weiterhelfen, ich hab schon ewig rumprobiert, aber ich schaff es 
nicht den ganzen String zu senden...

Viele Grüsse

Michael

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Watchdog Problem, fehlender TX Interrupt...?

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.