Vilem
30.05.2011, 17:43
Hallo,
ich verwende SerWrite, um einen gemessenen Zahlenwert auf dem Hyperterminal auszugeben. Dafür habe ich mit geringer Modifikation den Code von https://www.roboternetz.de/community/showthread.php?48265-ASURO-SerWrite-Problem übernommen. Das Programm funktioniert und gibt auch die richtigen Zahlenwerte aus, aber es kommt zu den beiden Code-Zeilen mit SerWrite die Warnung: "warning: pointer targets in passing argument 1 of 'SerWrite' differ in signednes"
Was habe ich da falsch gemacht ?
#include "asuro.h"
int main(void)
{
Init();
void PrintInt(int wert)
{char text [7];
itoa (wert, text, 10);
SerPrint(text);
}
void SerPrint (char *data)
{
unsigned char i = 0;
while (data [i] != 0x00);
UartPutc (data [i++]);
}
void UartPutc (unsigned char zeichen)
{
UCSRB = 0x08;
UCSRA |= 0x40;
while (!(UCSRA & 0x20)); UDR = zeichen;
while (!(UCSRA & 0x40)); UCSRB = 0x00;
}
int temperaturLinks = 50;
int temperaturRechts = 100;
SerWrite("Links:",6);
PrintInt(temperaturLinks);
SerWrite("Rechts:",9);
PrintInt(temperaturRechts);
while(1);
return 0;
}
Die gleiche Warnung kommt bei mir auch, wenn ich den Quellcode von radbruch: https://www.roboternetz.de/community/showthread.php?34201-Einen-Wert-%FCber-SerWrite-senden-klappt-nicht zu kompilieren versuche (Ich verwende die AsuroLib und WinAVR).
Anfänger dankt dem Profi fürs Drübergucken
Gruß Vilem
ich verwende SerWrite, um einen gemessenen Zahlenwert auf dem Hyperterminal auszugeben. Dafür habe ich mit geringer Modifikation den Code von https://www.roboternetz.de/community/showthread.php?48265-ASURO-SerWrite-Problem übernommen. Das Programm funktioniert und gibt auch die richtigen Zahlenwerte aus, aber es kommt zu den beiden Code-Zeilen mit SerWrite die Warnung: "warning: pointer targets in passing argument 1 of 'SerWrite' differ in signednes"
Was habe ich da falsch gemacht ?
#include "asuro.h"
int main(void)
{
Init();
void PrintInt(int wert)
{char text [7];
itoa (wert, text, 10);
SerPrint(text);
}
void SerPrint (char *data)
{
unsigned char i = 0;
while (data [i] != 0x00);
UartPutc (data [i++]);
}
void UartPutc (unsigned char zeichen)
{
UCSRB = 0x08;
UCSRA |= 0x40;
while (!(UCSRA & 0x20)); UDR = zeichen;
while (!(UCSRA & 0x40)); UCSRB = 0x00;
}
int temperaturLinks = 50;
int temperaturRechts = 100;
SerWrite("Links:",6);
PrintInt(temperaturLinks);
SerWrite("Rechts:",9);
PrintInt(temperaturRechts);
while(1);
return 0;
}
Die gleiche Warnung kommt bei mir auch, wenn ich den Quellcode von radbruch: https://www.roboternetz.de/community/showthread.php?34201-Einen-Wert-%FCber-SerWrite-senden-klappt-nicht zu kompilieren versuche (Ich verwende die AsuroLib und WinAVR).
Anfänger dankt dem Profi fürs Drübergucken
Gruß Vilem