Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: havya - 09 Mayıs 2022, 16:35:25

Başlık: CCSC Basamak değeri
Gönderen: havya - 09 Mayıs 2022, 16:35:25
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;

}
Başlık: Ynt: CCSC Basamak değeri
Gönderen: sadogan - 09 Mayıs 2022, 20:55:17
deger=(int16)((int16)(basamak1 * 1 )+(int16)(basamak2*10)+(int16)(basamak3*100));
Başlık: Ynt: CCSC Basamak değeri
Gönderen: havya - 10 Mayıs 2022, 08:28:22
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 ?