Herkese selamlar . Birbirinden bağımsız 3 adet rakamı birleştirerek 3 basamaklı bir sayı elde etmeye çalışıyorum. Bir fonksiyon oluşturarak 0 ile 255 arasında hiç problemsiz olarak çalışıyor ancak 255'i geçtiği zaman tekrar 0 oluyor . Burada sormak istediğim , fonksiyonlar en fazla kaç bit değer alıyor ? fonksiyon tanımlarken unsigned int16 olarak tanımladım ama yinede 8 bit i geçmiyor .
basamakla ilgili olan kısım aşağıdadır .
unsigned int16 (unsigned int x, unsigned int y){
.
.
.
unsigned int basamak1,basamak2,basamak3;
unsigned int16 deger;
deger=((basamak1 * 1 )+(basamak2*10)+(basamak3*100));
.
.
.
return deger;
}
deger=(int16)((int16)(basamak1 * 1 )+(int16)(basamak2*10)+(int16)(basamak3*100));
Yazdığınız şekilde yaptım 255 i geçti fakat (Interrupts disabled during call to prevent re-entrancy: (@MUL1616)) hatası veriyor şimdide . Kesme kuracağım zaman sıkıntı olurmu ?