CCSC Basamak değeri

Başlatan havya, 09 Mayıs 2022, 16:35:25

havya

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;

}

sadogan

deger=(int16)((int16)(basamak1 * 1 )+(int16)(basamak2*10)+(int16)(basamak3*100));

havya

#2
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 ?