Hallo Forum,
ich programmiere hier mit dem MPLAB IDE eine SD-Kartenansteuerung.
Mit einem MSP hat das wunderbar funktioniert.
Ich portiere das Programm nun auf den dsPIC.
Der Compiler meldet hier ein Warning, was ich nicht nachvollziehen kann.
Aber es tritt im PROGRAMM genauso auf, wie er der Compiler es voraussagt
!
Das gleiche Problem tritt beim MSP nicht auf !
Hier die Stelle:
1 | if(SD_CHECK_RESP(0xfe)==0xfe)
|
...
Die Funktion ist wie folgt definiert:
1 | char SD_CHECK_RESP(char resp)
|
2 | {
|
3 | int i=0;
|
4 | char response_2;
|
5 | while(i<100)
|
6 | {
|
7 | response_2=spi_send_8_SD(0xFF);
|
8 | if(response_2==resp) break;
|
9 | i++;
|
10 | }
|
11 |
|
12 | return response_2;
|
13 | }
|
spi_send_8_SD() liefert einen char zurück.
WARNING:
SD_CARD.c: In function 'SD_READ_REGISTER':
SD_CARD.c:225: warning: comparison is always false due to limited range
of data type
Obwohl SD_CHECK_REP() 0xFE zurückliefert, schlägt der Vergleich fehl ?
Beim MSP geht das wunderbar.
Bitte helft mir.
MfG
Klaus