mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik XC167 sendet keine Daten über RS232


Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade am programmieren eines XC167. Soweit läuft mein Programm. 
Ich möchte jedoch auch Daten und Texte mittels RS232 und Hyperterminal 
an den PC senden bzw empfangen. Leider gelingt mir dies nicht. Ich hoffe 
hier kann mir jemand helfen.
Die Daten und Texte sollen mittels den Funktion printf an die RS232 
gesendet werden. Im Simulator bei Keil läuft das auch soweit. Jedoch 
sehe ich nichts auf´m PC.

Ich habe hier gleich mal meinen Quellcode angehangen. Vielleicht sieht 
da einer von euch was los ist und weshalb es nicht geht. Dazu muß ich 
aber sagen, dass ich den XC167 mit nur 4MHz=fPLL betreibe.

#include "MAIN.H"

void ASC0_vInit(void)
{
    ASC0_BG     =  0x000C;      // load ASC0 baud rate time reload 
register

    ASC0_CON    =  0x0007;      // load ASC0 control register

    ASC0_RXFCON =  0x0102;      // load ASC0 receive FIFO control 
register
    ASC0_TXFCON =  0x0102;      // load ASC0 transmit FIFO control 
register

    ALTSEL0P3     |=  0x0400;      // select alternate output function
    P3   = (P3   & ~(uword)0x0400) | 0x0400;    //set data register
    DP3  = (DP3  & ~(uword)0x0400) | 0x0400;    //set direction register

    ASC0_TBIC_IR   =  1;        // indicates that the transmit buffer is
                                // empty
    ASC0_TIC_IR    =  1;        // indicates that the transmit register 
is
                                // empty

    ASC0_CON      |=  0x8000;      // enable baud rate generator
}


void ASC0_vSendData(uword uwData)
{
  ASC0_TBIC_IR = 0;        //  reset transmit buffer interrupt request
  ASC0_TBUF    = uwData;   //  load transmit buffer register
}

uword ASC0_uwGetData(void)
{
  ASC0_RIC_IR = 0;       // reset receive interrupt request
  return(ASC0_RBUF);     // return receive buffer register
}

ubyte ASC0_ubTxDataReady(void)
{
  ubyte ubReturnValue;
  ubReturnValue = 0;
  if(ASC0_TIC_IR)               // if sending of data is terminated
  {
    ubReturnValue = 1;
    ASC0_TIC_IR   = 0;
  }
  return(ubReturnValue);         // return receive buffer register
}

void ASC0_vReceiverOn(void)
{
  ASC0_CON_REN = 1;               // enable the receiver
}

MfG Lars

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe noch eine Info für euch.
Beim Übertragen der Daten mit MEMtool bekomme ich eine Meldung das bei 
verifizieren eine Unstimmigkeit aufgetreten ist.
Die Meldung lautet folgendermaßen:

Address: expected: is:
C0407Fh  00h       6Ch
1 differences

MfG Lars

Autor: Rothaus Bier (tannenzaepfle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Doch funktioniert bei mir, habe mal ein "Hello World" gebastelt.
Ist mit Tasking compiliert und über JTAG am EasyKit von Infineon 
geladen.
Komplettes Projekt siehe Anhang, hex File ist auch dabei.
Cheers
Tannenzäpfle

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.