-
Fototrend
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
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen alaplapot vegyek?
- Kamionok, fuvarozás, logisztika topik
- Milyen billentyűzetet vegyek?
- Fejhallgató erősítő és DAC topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Metal topik
- BestBuy topik
- Milyen monitort vegyek?
- CADA, Polymobil, és más építőkockák
- További aktív témák...
- Xiaomi 15 Ultra, újszerű, Alza vásárlás, 34 hónap gyári garanciával, eladó!
- Üzletből, garanciával, Lenovo ThinkPad T14 Ryzen 7 Pro-4750u/16GBRAM/512GBSSD/FULLHD IPS Touch
- Lenovo ThinkPad T14 G2 i7-1165G7 / 16GB / 512GB SSD EU billentyűzet
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Mini PC - HP ProDesk 405 G4 DM / Ryzen 5 PRO 2400GE / DDR4 / NVMe / HDMI / több db / számla
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
