-         

Ergebnis 1 bis 5 von 5

Thema: Absurdes RS232 Problem 18F2320 & usart.h

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.02.2006
    Beiträge
    9

    Absurdes RS232 Problem 18F2320 & usart.h

    Anzeige

    Folgendes Problem

    dieser Code funktioniert wunderbar:

    ...
    char sdata[5];

    sdata[0]='C';
    sdata[1]='D';
    ...

    while(1)
    {
    WriteUSART(sdata[0]);
    Delay1KTCYx(1);
    }

    Auf meinem Terminal erscheinen jede Menge C

    Wenn ich aber beide Komponenten ausgeben möchte
    mit folgendem Code:

    ...
    char sdata[5];

    sdata[0]='C';
    sdata[1]='D';
    ...

    while(1)
    {
    WriteUSART(sdata[0]);
    Delay1KTCYx(1);
    WriteUSART(sdata[1]);
    Delay1KTCYx(1);
    }

    An meinem Terminal kommt nix an.
    Oszi zeigt auch nichts an, aber der Chip läuft (Fosc am pin gemessen)

    Das gleiche Phänomen taucht auch bei anderen Chips auf (18F1320, 18F2420)

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Da müßt' man wohl mehr wissen über die Funktionen:
    WriteUSART(sdata[0]);
    Delay1KTCYx(1);

    Dein Sourcecode scheint ja unverdächtig
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.02.2006
    Beiträge
    9
    Die Funktionen WriteUSART(char) und Delay1KTCYx(char)
    sind von Microchip und funktionieren auch.

    Nur die Ausgabe von zwei Bytes nacheinander (oder auch mehr)
    geht nicht, und ich hab absolut keine Ahnung warum.

    Die Ausgabe als String geht auch nicht.

  4. #4
    sieht ganz nach entlosschleife aus...... Versuch vor dem Aufruf von putcUSART ein while(BusyUSART());

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.02.2006
    Beiträge
    9
    Danke, hat geklappt

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •