Sisukord:
- Samm: katkestage käitleja
- Samm: määrake perioodiline ajaintervall
- 3. samm: initsialiseerimise katkestamine
- Samm: kuhu oma kood lisada
Video: Arduino - perioodiline katkestus: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
See juhend sisaldab Arduino programmides ajastamiseks perioodilise katkestuse kasutamist. See on samm algavale Arduino programmeerijale, kes teab, et Arduino suudab rohkem, kuid ei tea päris täpselt, kuidas seda teha.
Kui esineb jõudlusprobleeme, eeldan, et kasutate ühte või mitut delay () funktsiooni. Nipp on vabaneda delay () funktsioonist ja asendada katkestus. Funktsioon delay () sunnib Arduinot viivituse () lõpuleviimist oodates mitte midagi tegema. Katkestuse kasutamine võimaldab teie programmil viivituse lõppu oodates teha muid asju. Tavaliselt on viivitamata () kasutamisel tohutult palju kasutamata surnud aega, mida saaks kasutada muudeks asjadeks. Katkestuse kasutamine lahendab selle probleemi.
Samm: katkestage käitleja
1. Lisage oma programmi katkestuste käitleja. Lihtsalt kopeerige ja kleepige kuskile setup () kohale;
const unsigned long TIMER0_COUNT = 500; // 500 ms taimerintervall
// TIMER0 katkestuste töötleja lenduv bool aeg = vale; ISR (TIMER0_COMPA_vect) {staatiline allkirjastamata pikk arv = 0; if (++ count> TIMER0_COUNT) {count = 0; aeg = tõsi; // aeg määratakse iga TIMER0_COUNT ms järel tõeseks} // (aeg tuleb põhirutiinis tühjendada)}
Samm: määrake perioodiline ajaintervall
2. Määrake ajavahemik. See rutiinne sigadus tuleb tagasi TIMER0 katkestusele, mis käivitatakse iga ~ 1 ms järel.
Teie "intervall" on töötlemiseks vajalike TIMER0 katkestuste arv. Iga intervall on ~ 1 ms, nii et te tõesti määrate, mitu TIMER0 katkestust enne intervalli aktiveerimist lugeda. IOW, määrake muutujale TIMER0_COUNT nii palju millisekundeid, kui soovite oodata. Näiteks kasutage pool sekundit 500. Kasutage 3000 3 sekundit.
3. samm: initsialiseerimise katkestamine
3. Lisage "TIMER0 lähtestamise" kood oma setup () meetodile. Jällegi lihtsalt kopeerige ja kleepige seadistusse ().
// *** TIMER0 lähtestamine ***
cli (); // lülita kõik katkestused välja TIMSK0 = 0; // lülita taimer0 välja madalama värisemise korral OCR0A = 0xBB; // meelevaldne katkestuste arv TIMSK0 | = _BV (OCIE0A); // notsu tagasi katkestusele sei (); // lülitab katkestused uuesti sisse
Samm: kuhu oma kood lisada
4. Lisage "time check" kood oma loop () meetodile. Kopeerige ja kleepige silmusesse ().
kui (aeg) {
aeg = vale; // tee siin midagi}
"Aeg = vale;" rida on oluline. Ilma selle reata täidetakse rida "tee siin midagi" iga kord, kui programm käivitab tsükli ().
Loomulikult asendate oma tegevused reaga "tee siin midagi". Alustage teksti printimisega või LED -i vilkumisega.
Sa oled valmis!
Soovitan:
ATX toiteallika katkestus: 3 sammu
ATX toiteploki katkestuskott: ostsin allpool oleva ATX-i katkestusplaadi ja vajasin selle jaoks korpust. Materjalid ATX-i katkestusplaat Vana ATX-toiteplokid ja mutrid (x4) 2,5 mm isekeermestavad kruvid Seibid (x4) Kiiklüliti Kaablisidemed Kuumutõmbetoru Jootmine 3D-hõõgniit (tagasi ja võimendi); helendav
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
Tulekahjusignalisatsioon Arduino abil [paar lihtsat sammu]: 3 sammu
Arduino kasutav tulekahjusignalisatsioon [paar lihtsat sammu]: Kas soovite Arduinoga teha lihtsa ja huvitava projekti, mis võiks samal ajal olla tõesti kasulik ja potentsiaalselt elupäästev? Kui jah, siis olete jõudnud õigesse kohta õppima midagi uut ja uuenduslikku. Selles postituses läheme
Odavaim Arduino -- Väikseim Arduino -- Arduino Pro Mini -- Programmeerimine -- Arduino Neno: 6 sammu (piltidega)
Odavaim Arduino || Väikseim Arduino || Arduino Pro Mini || Programmeerimine || Arduino Neno: …………………………. Palun TELLI minu YouTube'i kanalile, et saada rohkem videoid ……. .See projekt käsitleb kõigi aegade väikseima ja odavaima arduino liidestamist. Väikseim ja odavaim arduino on arduino pro mini. See sarnaneb arduinoga