
Проблеми с един MPLAB warning
Компилирам си с C18 на Microchip и ми дава този warning там
където въобще не трябва поне според мен да го има.
Ето го съобщението:
Message [3002] comparison of a signed integer to an unsigned integer detected
Дава го на следните места:
unsigned char res;
...
if (res != (unsigned char)0xFF) {
...
unsigned char d1;
...
} while(d1 != 0);
...
unsigned char gSet1InNum;
...
#define MAX_CHANELS (unsigned char)4
...
if (gSet1InNum < MAX_CHANELS) {
Много странно хем съм го castnal към unsigned тип хем ми дава warningа.
И да ме убиеш от кога 0-та е знакова

за тази проверка d1 != 0.
Никой друг компилатор не дава на тези места warnings.