- További kavarás a Pixel 10-ek körül
- A Watch6 teszteli a Wear OS 6-ot
- Vivo X200 Pro - a kétszázát!
- Honor 200 Pro - mobilportré
- Okosóra és okoskiegészítő topik
- Apple iPhone 16 Pro - rutinvizsga
- One mobilszolgáltatások
- Android alkalmazások - szoftver kibeszélő topik
- India felől közelít egy 7550 mAh-s Redmi
- Motorola Edge 40 - jó bőr
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
its_grandpa
tag
válasz
lanszelot #20318 üzenetére
Ez a kód (szerintem) annyi sebből vérzik, hogy kénytelen vagyok ....
Az ISR-ben használt változók, volatile, tehát a definiciók:
volatile int keses = 1000;
volatile uint32_t lastms= 0;ISR-ben nem írunk a soros portra, ha jót akarunk magunknak.
Vegyunk fel a változásra egy boolean-t.volatile bool tekertem = false;
void teker(){
if (millis() - lastms > 200)
{
lastms = millis();
tekertem = true;
if(digitalRead(DT) == currentStateCLK) keses = keses+100;
else if (keses > 100) keses = keses-100;
lastStateCLK = currentStateCLK;
}
else tekertem = false;
} /* teker fv end */A void loop() -ban lehet kiírni a soros portra ha volt tekerés
if (tekertem)
{
serial.print-ek
}Sem a counter, sem a currentDir változó értékét nem módosítod, mindig ua.-t fogja kiírni.
És a hab a tortán.
Nem is értem miért működik mert ugyan INPUT_PULLUP a 2,3-as pin de az ISR fv. a 0-as pin-re van konfigurálva, nem szépen.attachInterrupt(0, teker, CHANGE);
Így illene:attachInterrupt(digitalPinToInterrupt(PIN), teker, CHANGE);
Új hozzászólás Aktív témák
- Spórolós topik
- TCL LCD és LED TV-k
- PlayStation 4
- További kavarás a Pixel 10-ek körül
- A Watch6 teszteli a Wear OS 6-ot
- Mibe tegyem a megtakarításaimat?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Nem viszi az USA-ba az adatainkat a Microsoft
- Milyen notebookot vegyek?
- E-roller topik
- További aktív témák...
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest