Jest sobie procedurka zaczerpnięta z książki p. Jacka Bogusza pt" Programowanie mikrokontrolerów 8051 w C "
Oto procedurka
// funkcja hex na bcd
char Subnumber(unsigned int number , char position) { switch (position) { case 1: return (number/100); break; case 2: number%=100 ; return(number/10); break; case 3: return(number%10); break; default: return(0); break; } }
I w czym problem . Problem w tym że jeżeli ta funkcja jest w listingu ( nawet jeżeli nie ma do niej odwołań ) podczas kompilacji to kod programu nie działa na sprzęcie . Na symulatorze programowym wygląda że działa . Czy ktoś wie jak ten problem rozwiązać ? Może to jest kwestia ustawień w "projekcie" ?? Sam już nie wiem . Natomiast jeżeli zmienna number jest rozmiaru char to funkcja działa prawidłowo w zakresie char i program poprawnie dokonuje konwersji . Pomocy ...