-
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
-
Janos250
őstag
Multitasking:
Már régebben próbáltam, csak nagyjából emlékszem rá.
Van Arduinon a loop1, loop2,...... módszer, a scheduler libraryt használja.
Ez - úgy rémlik - Atmel procikkal is megy.
Valamin próbáltam működött, de már nem emlékszem többre.
Arra sem, hogy melyik schedulert használtam, mert - úgy rémlik - több is van.
Amikor waitet talál, akkor átugrik a következő loopra. Ha nincs wait, akkor kell egy wait(0), vagy ami ugyanez: yield()
https://www.arduino.cc/en/Reference/SchedulerYieldAmire nekem kellet, arra a ticker is megfelelt.
Most nincs időm rendezgetni, bemásolok ide egy program egy részletét. Ha nem érted, majd kérdezel. Két fűtést vezérel, hogy az 5 sec [PWMdurationHeat1Sec] hány százalékában legyen bekapcsolva. (A százalékokat WEBen állítgatjuk percentHeat1on, percentKolonna )
Ne kérdezd, hogy mi az értelme, mert demonstráció IOT-re.
Kell Ticker típusú objektum, nálam kettő (Ticker heat1 ; Ticker heatKolonna ; )
Mindkettőhöz tartozik egy bekapcsoló (ON) és egy kikapcsoló (OFF) függvény [ void heat1ON () ......]
A lényeg, hogy a bekapcsoló, miután bekapcsolta a fűtést, időzíti [heat1.once], hogy mikor fusson le a kikapcsoló. Egy korai verziót írok be, amiben ellenőrző kiírások is vannak..
A setupban mindkettőre kell egy indítás [ heat1OFF () ; heatKolonnaOFF (); ]
Szépen elketyegnek a program többi részétől függetlenül.
Az elnevezések némileg logikátlanok, de hirtelenjében nem találom azt a verziót, amin már át vannak nevezve.Ticker heat1 ;
Ticker heatKolonna ;float PWMdurationHeat1Sec = 5 ;
uint8_t percentHeat1on = 20 ;
uint8_t percentHeat1off = 100 - percentHeat1on ;uint8_t percentKolonna = 80 ;
uint8_t percentKolonnaoff = 100 - percentKolonna ;uint8_t heat1pin = 12 ;
uint8_t kolonnaPin = 13 ;void heat1ON () {
digitalWrite(heat1pin, HIGH) ;
heat1.once ( (PWMdurationHeat1Sec * percentHeat1on / 100) , heat1OFF ) ;
Serial.print ("heat1 be"); Serial.println(" percentHeat1on = "); Serial.println(percentHeat1on);
} ;void heat1OFF () {
digitalWrite(heat1pin, LOW) ;
heat1.once ( (PWMdurationHeat1Sec * ( 100 - percentHeat1on ) / 100 ) , heat1ON ) ;
Serial.println("heat1 ki");
} ;void heatKolonnaON () {
digitalWrite(kolonnaPin, HIGH) ;
heatKolonna.once ( (PWMdurationHeat1Sec * percentKolonna / 100) , heatKolonnaOFF ) ;
Serial.print ("kolonna be"); Serial.print(" percentkolonna = "); Serial.println(percentKolonna);
} ;void heatKolonnaOFF () {
digitalWrite(kolonnaPin, LOW) ;
heatKolonna.once ( (PWMdurationHeat1Sec * ( 100 - percentKolonna ) / 100 ) , heatKolonnaON ) ;
Serial.print ("kolonna ki");
Serial.print(" percentkolonna = "); Serial.println(percentKolonna);
} ;
Új hozzászólás Aktív témák
- SZÉP Lenovo ThinkPad P15 G2 Tervező Laptop -75% 15,6" i9-11950H 64/2TB RTX A4000 8GB UHD OLED
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Eladó Apple MacBook Pro 13" A1706 (Late 2017, Silver - EMC 3163)
- Amazfit GTR 2 Classic okosóra dobozában töltőkábellel
- Mac mini M1 chip 8 magos CPU-val, 8 magos GPU-val
- Bomba ár! Dell Latitude E6510 - i5-560M I 4GB I 250GB I DVD I 15,6" HD+ I Garancia!
- AKCIÓ! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel
- Lenovo ThinkPad X13 G2 multitouch
- 2db Dell PowerEdge R740 2U Rack Szerver és 3db Netapp FAS2040 NAS
- ÁRGARANCIA! Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest