- Házimozi haladó szinten
- Milyen notebookot vegyek?
- Apple asztali gépek
- Melyik tápegységet vegyem?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen belső merevlemezt vegyek?
- Vezetékes FEJhallgatók
- AMD vs. INTEL vs. NVIDIA
- Fejhallgató erősítő és DAC topik
- HiFi műszaki szemmel - sztereó hangrendszerek
-
PROHARDVER!
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
- Dell Latitude 5450 Intel Core Ultra 5 135U 4nm 32GB DDR5 érintőképernyős laptop Dell gari 2027.09.hó
- PlayStation 4/5 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- PlayStation 5/4 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX ONE/Series kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX Series S 512GB, 6 hó garanciával Bp-i üzletből eladó!
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo LEGION Pro 5 / Pro 7, Lenovo Yoga Pro gépek (RTX 4060 / 4070 / 4080 / 4090)
- Lenovo S10-2 Intel Atom retró csajszis netbook eladó
- Azonnali készpénzes AMD Radeon RX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Több mint 70.000 eladott szoftverlicenc
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged