Da müßt' man wohl mehr wissen über die Funktionen:
WriteUSART(sdata[0]);
Delay1KTCYx(1);
Dein Sourcecode scheint ja unverdächtig
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)
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.
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.
sieht ganz nach entlosschleife aus...... Versuch vor dem Aufruf von putcUSART ein while(BusyUSART());
Danke, hat geklappt
Lesezeichen