Etepic

Diğer diller ve Derleyiciler => CCS => Konuyu başlatan: transistor - 21 Eylül 2024, 10:15:02

Başlık: İki butonlu sayıcıda algoritma hatası
Gönderen: transistor - 21 Eylül 2024, 10:15:02
Merhaba arkadaşlar Arduino Uno ile C-CCS++ tabanlı programlamaya yeni başladım. Mehmet YALÇIN ASLAN'ın kitabını aldım çalışıyorum. iki buton ile tamsayı cinsinden sayıyı arttırıp eksiltmeye çalışıyorum ancak, arttırma konusunda sayı max seviyeye geldiği zaman 1'e dönmüyor. Eksiltme de problem yok.

#define buton0 A0
#define buton1 A1

int sayac = 0;

void setup() {
  Serial.begin(9600);
  pinMode(buton0, INPUT);
  pinMode(buton1, INPUT);
}
void loop() {
  if (digitalRead(buton0) == 1) {
    while (digitalRead(buton0) == 1) {
      delay(100);
    }
    sayac++;
    Serial.print("Sayı:");
    Serial.println(sayac);
  }
  if (digitalRead(buton1) == 1) {
    while (digitalRead(buton1) == 1) {
      delay(100);
    }
    sayac--;
    Serial.print("Sayı:");
    Serial.println(sayac);
  }

}
Başlık: Ynt: İki butonlu sayıcıda algoritma hatası
Gönderen: Pepe - 21 Eylül 2024, 20:24:19
unsigned int sayac = 0;
Başlık: Ynt: İki butonlu sayıcıda algoritma hatası
Gönderen: mehmet - 22 Eylül 2024, 02:25:57
Tanımladığınız değişkenin max değerini kaç olduğunu tahmin ediyorsunuz?

https://www.kodbloklari.com/c-dili-veri-tipleri-ve-degiskenler/

Mcu için küçük farklar olabilir.