Weder dieser noch jener PIC können das. Für die Auswertung des Format-Specifiers ist ausschliesslich der Kompiler zuständig.
Hallo
Hab mal wieder ein kleines Programmierproblem.
Hatte einen 16F628A PIC so programmiert das er mir in 100ms Zeitintervallen einen Datenstring via RS232 an den Computer sendet. Das hat einwandfrei funktioniert.
Da ich nun aber den PIC wechseln muss (Brauch mehr IOs) wollte ich das Programm auf den 16F877A kopieren.
Nun hab ich das Problem das dieser PIC scheinbar keine long decimals senden kann. Schreibe ich %ld stoppt der PIC bei der Datenuebertragung. Habs simuliert.
Wenn ich allerdings %x schreibe sendet er die Daten. Allerdings in HEX und nicht dezimal. Hardwaremaessig ist es genauso.
Versteh das nicht.
Schon mal danke.
Hier der Code.
#int_RTCC
RTCC_isr()
{
if(timerdelay == 50)
{
output_high(PIN_A0);
timercount++;
printf("%ld , %ld , %ld,\n",timercount,hallgear,hallwheel);
}
else
{
timerdelay++;
}
output_low(Pin_A0);
}
//Die Variablen sind als int8 bis int32 initialisiert
Bye
Weder dieser noch jener PIC können das. Für die Auswertung des Format-Specifiers ist ausschliesslich der Kompiler zuständig.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Sers
Das das ein Problem vom Kompiler ist hab ich mir schon gedacht.
Aber jener Chip, der 16F628, kann das. Hat ja schon funktioniert.
Hmmm
Lesezeichen