Orodha ya maudhui:
- Hatua ya 1: Usumbufu Kushughulikia
- Hatua ya 2: Weka muda wa muda wa muda
- Hatua ya 3: Kuanzisha Usumbufu
- Hatua ya 4: Mahali pa Kuongeza Nambari yako
Video: Arduino - Usumbufu wa Mara kwa Mara: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Agizo hili linahusu kutumia usumbufu wa mara kwa mara kwa muda katika programu za Arduino. Hii ni hatua kwa mtayarishaji chipukizi wa programu ya Arduino ambaye anajua kwamba Arduino anaweza kufanya zaidi, lakini hajui kabisa jinsi ya kufanya hivyo.
Ikiwa kuna shida ya utendaji nadhani kuwa unatumia kazi moja au zaidi ya kuchelewesha (). Ujanja ni kuondoa kazi za kuchelewesha () na kubadilisha usumbufu. Ucheleweshaji () kazi inalazimisha Arduino kufanya chochote wakati inasubiri kuchelewesha () kukamilisha. Kutumia usumbufu kunaruhusu programu yako kufanya vitu vingine wakati unasubiri mwisho wa ucheleweshaji. Kawaida kuna idadi kubwa ya wakati uliokufa usiotumiwa ambao unaweza kutumika kwa vitu vingine unapotumia kuchelewesha (). Kutumia usumbufu hutatua shida hii.
Hatua ya 1: Usumbufu Kushughulikia
1. Ongeza kidhibiti cha kusumbua kwenye programu yako. Nakili tu na ubandike mahali hapo juu juu ya usanidi ();
Const unsigned muda mrefu TIMER0_COUNT = 500; // Kipindi cha kipima muda cha 500 msec
// TIMER0 kukatiza kishikizi wakati wa bool = ya uwongo; ISR (TIMER0_COMPA_vect) {static unsigned long count = 0; ikiwa (++ count> TIMER0_COUNT) {count = 0; wakati = kweli; Wakati umewekwa kuwa kweli kila TIMER0_COUNT ms} // (wakati unahitaji kufutwa katika utaratibu kuu)}
Hatua ya 2: Weka muda wa muda wa muda
2. Weka muda wa muda. Njia hii ya kawaida ya nguruwe yenyewe kwenye usumbufu wa TIMER0, ambayo imewekwa moto kila ~ 1 msec.
"Muda" wako ni idadi ya vipingamizi vya TIMER0 ili kuchakata. Kila vipindi ni ~ 1 msec, kwa hivyo unaweka ni kweli ngapi TIMER0 hukatiza kuhesabu kabla ya kuwezesha muda wako. IOW, weka TIMER0_COUNT ya kutofautisha hata kwa milisekunde nyingi unayotaka kusubiri. Kwa mfano, tumia 500 kwa nusu moja ya sekunde. Tumia 3000 kwa sekunde 3.
Hatua ya 3: Kuanzisha Usumbufu
3. Ongeza msimbo wa "TIMER0 initialization" kwa njia yako ya kuanzisha (). Tena, nakili tu na ubandike katika usanidi ().
// *** TIMER0 uanzishaji ***
cli (); // zima kila usumbufu TIMSK0 = 0; // zima timer0 kwa jitter ya chini OCR0A = 0xBB; // usumbufu wa kukatiza hesabu TIMSK0 | = _BV (OCIE0A); // nguruwe kurudi kwenye usumbufu sei (); // zamu inarudi nyuma
Hatua ya 4: Mahali pa Kuongeza Nambari yako
4. Ongeza nambari ya "kuangalia muda" kwa njia yako ya kitanzi (). Nakili na ubandike kwenye kitanzi ().
ikiwa (saa) {
wakati = uongo; // fanya kitu hapa}
"Wakati = uwongo;" line ni muhimu. Bila mstari huu "fanya kitu hapa" (s) zitatekelezwa kila wakati programu inafanya kitanzi ().
Kwa kweli, unabadilisha shughuli zako mwenyewe kwenye mstari wa "fanya kitu hapa". Anza na kuchapisha maandishi au kuwasha LED.
Umemaliza!
Ilipendekeza:
Kaunta ya Mara kwa Mara ya Azimio: Hatua 5 (na Picha)
Kaunta ya Frequency ya Azimio la Juu: Hii inaweza kufundishwa kwa kaunta ya kurudia yenye uwezo wa kupima masafa haraka na kwa usahihi unaofaa. Imetengenezwa na vifaa vya kawaida na inaweza kufanywa mwishoni mwa wiki (ilinichukua kidogo zaidi :-)) BONYEZA: Nambari hiyo sasa inapatikana
Ripoti ya Mara kwa Mara ya Excel: Hatua 6
Ripoti ya Mara kwa Mara ya Excel: Hapa kuna vidokezo vyangu vya ripoti za matumizi ya mara kwa mara katika Excel 2010. Katika video ya mafunzo hapa chini, ripoti hii inatuambia juu ya matumizi maalum ya umeme, maji, oksijeni, nitrojeni kwa tani ya bidhaa zilizomalizika, kulingana na kila wiki, kila mwezi, robo
Cart ya Maumbo ya Upana wa Mara kwa Mara: Hatua 5
Gari la Umbo la Upana wa Mara kwa Mara: Maumbo ya upana wa kila wakati yalinivutia kila wakati na nadhani ni nzuri sana. Unaweza kuzitumia kwa miradi anuwai kama magurudumu ya roboti ndogo nk. Katika hii nitafundishwa nitakuonyesha jinsi ya kuteka maumbo anuwai ya upana wa kila wakati ambao unaweza
Mzigo mdogo - Mzigo wa Sasa wa Mara kwa Mara: Hatua 4 (na Picha)
Mzigo mdogo - Mzigo wa Sasa wa Sasa: Nimekuwa nikitengeneza benchi PSU, na mwishowe nilifikia hatua ambapo ninataka kupakia mzigo kwake kuona jinsi inavyofanya kazi. Baada ya kutazama video bora ya Dave Jones na kuangalia rasilimali zingine kadhaa za mtandao, nilikuja na Mzigo mdogo. Thi
Tengeneza Uingizwaji wako wa Bulb ya LED kwa Taa ya Mwenge Mara kwa Mara: Hatua 4
Tengeneza Uingizwaji wako wa Bulb ya LED kwa Taa ya Mwenge Mara kwa Mara: Mwangaza wa tochi ya LED ni kawaida sana siku hizi, lakini ikiwa unatokea kuwa na balbu ya taa ya taa ya incandescent kulingana na teknolojia ya miaka 100, hapa kuna nafasi yako ya kuisasisha na LED iliyodumu miaka 8000! (ikiwa incandescent ina maisha ya mwanadamu)