hi hermann,
ich habe ein paar zeilen aus deinem programm - gleich für das "-" zeichen angepasst - in meines reinkopiert, ich gebe zu nicht alles verstanden zu haben von dem was da in deinen zeilen stand (die komentare halfen aber immerhin um die funktion der zeile zu erahnen
)
Code:
#include "asuro.h" // Prüfung der Phototransitoren
/* ------------ Line Sensor Test ---------------- */
/* Left Sensor -> Left Break LED ON when Light on
Left Phototransistor bright enough */
/* Right Sensor -> Right Break LED ON when Light on
Right Phototransistor bright enough */
void _UartPutc_ (unsigned char zeichen)
{
UCSRB = 0x08; // enable transmitter
UCSRA |= 0x40; // clear transmitter flag
while (!(UCSRA & 0x20)) // wait for empty transmit buffer
;
UDR = zeichen;
while (!(UCSRA & 0x40)) // Wait for transmit complete flag (TXC)
;
}
int main(void)
{
unsigned char tmp[2] = {OFF,OFF};
unsigned int data[2];
unsigned char z;
z = 0x2D;
Init();
SerWrite("\n\r --- Line Sensor Test ---",28);
StatusLED(OFF);
FrontLED(ON);
do
}
*/
LineData(data);
if (data[0] > 400)
tmp[0] = ON;
else
tmp[0] = OFF;
if (data[1] > 400)
tmp[1] = ON;
else
tmp[1] = OFF;
BackLED(tmp[0],tmp[1]);
SerWrite("\n\r Phototransistorwerte--",35);
PrintInt(data[0]);
_UartPutc_(0x2D);
//PrintInt(z);
//SerWrite("\n\r !",1);
//SerPrint(" ");
PrintInt(data[1]);
// SerWrite("\f",1); //Seitenvorschub EDIT 2: bringt Fehler bei der Ausgabe
}
while(1);
return 0;
}
/* END Line Sensor Test ------------------------- */
das "-" zeichen wird jetzt ausgegeben, die zweite hälfte des satzes
"\n\r Phototransistorwerte : links/rechts",39"
wurde durch irgendwelche weisen rechtecke überschrieben, deshalb habe ich es abgekürzt...
fängt die funktion
_UartPutc_(0x2D);
nicht dort an auszugeben wo die vorhergehende zeile aufgehört hat?
Lesezeichen