A két színű LED-ek
Két színű LED a piacon. Ezek úgy vannak elrendezve, mint ez: két LED-ek különböző színű párhuzamosan kapcsolt, de ellentétes polaritású a házon belül. Így, ha a feszültség egy polaritású - világít egy LED-chip és bocsát ki, mint például a vörös fény. Ha megváltoztatja a polaritás - kigyullad a többi kristály, és kigyullad a zöld. Egyértelmű, hogy az ellenkező LED feszültség nem a polaritás, és nem éget.
Ez lehetővé teszi, hogy egyetlen LED kijelző, például két állam bármely rendszer: zöld normál és piros hibát jelez. Elég gyakran, a LED-ek kerülnek be a gombot, majd megnyomja a duplikált kacsintott LED, vagy váltson egy másik színt (persze, ez történik kívül MC).
De nem mindenki tudja, hogy ez a LED mutathatunk, a harmadik szín! Nincs rakéta tudomány, akkor csak meg kell, hogy gyorsan váltani a LED fény az egyik szín a másikba. Megmutatom, hogyan kell csinálni a STM32 - első rossz, és akkor a helyes.
Mi tulajdonképpen csak annyiban releváns a potenciális különbség a LED kimenet? Ezért a legjobb, ha ezt: csatlakoztassa a LED két láb IO, felvételét az azonos színű nyújt az „1” az első lábát, és a „0” a második. A LED, így lesz a feszültség + 3.3V, és zölden világít. Ha megfordítjuk a polaritás, alkalmazza a „0” az első lábát, és az „1”, a második - a LED kigyullad -3,3V feszültséget, és pirosan világít. Természetesen nem feledkezhetünk meg arról áramkorlátozó ellenállás, amely nem ad okot a fent jelenlegi 10-20mA.
Rossz, de egy egyszerű módszerrel
Ez nagyon egyszerű: csatlakoztassa a LED útján 330Om ellenállás néhány lába az input-output, és egy sor be- és kikapcsolása. ÉN használ PB0 és PB2 a STM32VLDiscovery fórumon.
Kód nagyon egyszerű:
A bonyolultabb, de a helyes módszer
Használja az időzítő a STM32 chip! Felvehetnek a végrehajtása során a késések ciklusok, enyhíti azokat a kernel. Ez mindössze egy alkalommal az időzítő, kapcsolja be - és akkor vigyázni az üzleti, időnként megzavart a megszakítás.
A fényerő a két színű LED
A kétszínű LED mindig probléma - a fényerő a kristályok más, és ha azok tartalmazzák ugyanazt a kitöltési tényezőt (például 50% -ában a vörös, a zöld 50% -ában) - színek kevert pontatlan, és kiderül, nem az, amit akartunk. Piros LED mindig világosabb, mint a zöld - és kiderül, nem sárga, vagy akár narancssárga színű, és szinte teljesen piros.
A kézenfekvő módja, hogy a fényerő a program -, hogy különböző időtartamú késés: Az első példában, elég megváltoztatni defayny del1 és del2, a második példában letöltendő nyilvántartásban ARR különböző értékeket különböző lépései. De ez egyértelmű, és kérdések merülnek fel.
Hardver kiigazítására alkalmazott módszer, hogy valaki nem lehet annyira nyilvánvaló. Egyértelmű, hogy meg lehet változtatni az ellenállást a jelenlegi korlátozó ellenállás, de megváltoztatja a fényerejét a két kristályt. Ezért nem egy kicsit trükkösebb - hagyja, hogy a jelenlegi az egyik irányban ellenállás, és a másik irányba - a másikon. Ez, persze, nagyon könnyű, hogy két dióda.