Hallo
ok, vielen Dank. Ich habs gefunden. Ist im Zusammenhang mit dem
Temperatursensor DS18S20. Da sind eigen Delays, da sie wohl genauer
sind...
Sorry, ich lerne gerade den Umgang mit GCC. Da eine GCC Experte
antwortet noch eine Problemfrage von mir. Da kommen beim Übersetzen
Warnungen wie zB.:
ds18x20.c: In function 'DS18X20_uart_put_temp':
ds18x20.c:38: warning: pointer targets in passing argument 1 of 'strlen'
differ in signedness
ds18x20.c:39: warning: pointer targets in passing argument 1 of
'uart_puts' differ in signedness
was sagt mir das?
Der entsprechende Code:
1 | void DS18X20_uart_put_temp(const uint8_t subzero,
|
2 | const uint8_t cel, const uint8_t cel_frac_bits)
|
3 | {
|
4 | uint8_t buffer[sizeof(int)*8+1];
|
5 | int i;
|
6 |
|
7 | uart_putc((subzero)?'-':'+');
|
8 | uart_puti((int)cel);
|
9 | uart_puts_P(".");
|
10 | itoa((int)(cel_frac_bits*DS18X20_FRACCONV),(char*)buffer,10);
|
11 | for (i=0;i<4-strlen(buffer);i++) uart_puts_P("0");
|
12 | uart_puts(buffer);
|
13 | uart_puts_P("°C");
|
14 | }
|
Das Programm läuft, da ich aber am Lernen bin möchte ich die Warnungen
beseitigen. Die Frage ist aber wie?