Kérdés:
Miért kell az érzékelő jelét összekapcsolni az Andruino táblák megszakító csapjaival?
user3646338
2014-05-17 03:52:20 UTC
view on stackexchange narkive permalink

Találkoztam néhány olyan Andruino érzékelővel, mint a Motion, Light, és mind azt ajánlom, hogy csatlakoztassam az Andruino Uno kártya 2. vagy 3. tűjéhez, amelyek megszakító csapok. Ez különösen igaz, ha HIGH vagy LOW értékeket keres. Miért kell ezt összekapcsolni a megszakító csapokkal?

Az egyik példa erre a CC3000 Wifi Breakout és Motion szenzor használata. Mindketten küzdöttek azért, hogy elfoglalják a 2. megszakító tűt. Láttam, hogy a Motion sesnor nem működik megfelelően, miután a jelet a 4-es érintkezőhöz akasztották további érzékelők csatlakoztatása, amelyek a korlátozott megszakító csapokat használják, és hogyan kell kezelnem a fenti esetet?

Kettő válaszokat:
Ignacio Vazquez-Abrams
2014-05-17 04:39:23 UTC
view on stackexchange narkive permalink

A megszakító csapok arra szolgálnak, hogy értesítsék az MCU-t arról, hogy egy eszköz figyelmet igényel. Az INTx csapokat választják először, mert könnyen programozhatók; mindegyik kap egy külön megszakítási vektort és ennélfogva az ISR-t.

Van azonban egy másik típusú külső megszakítás is, a Pin Change megszakítás. Erre a készülék bármely PCINTxx-csapján keresztül lehet hivatkozni; a '328 bármely pin-nél megszakításként működhet.

A fő különbség az INT és a PCINT között az, hogy a PCINT-ek 8-as bankokba vannak csoportosítva, ami azt jelenti, hogy ha az ISR A megfelelő csapok szintjét ellenőrizni kell, ami azt is jelenti, hogy félbeszakítást hibásan lehet olvasni, ha egy bankot több eszköz oszt meg, és maga a megszakítási impulzus nagyon rövid.

További részletek az MCU adatlapjának „Külső megszakítások” és „Megszakítások” szakaszaiban olvasható.

Chris Stratton
2014-05-17 18:13:27 UTC
view on stackexchange narkive permalink

Az Ignacio nagyszerű választ ad a megszakítások két típusa közötti különbségekre. De ehhez hozzá kell tenni, hogy még egy megszakítás használata sem univerzális követelmény.

> akkumulátoros kütyükben. pusztán egy jelzőt állít be a program fő hurokjának elmondására, hogy valami történt, vagy nem sok haszon. Ezután, amikor a fő programhurok logikus döntési ponthoz érkezik, ellenőrzi a jelzőket vagy az eseménysorot, hogy a megszakítási szolgáltatás rutin rögzített-e valamit, amire reagálnia kell. A soros vételt általában így kezelik az Arduino keretrendszerben.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...