Fórum témák
» Több friss téma |
Igen, raktam felhúzó ellenállást. PIC 16F690-et használok, külső quartz oszcillátorral. Ennyire le van egyszerűsítve már a program, de így se működik a valóságban.
a gombot nem így kell használni, annak kell csinálni egy változót bal oldalt,amit a gomb megnyomásával a programban le kell kezelni.
És ha a programot billenőkapcsolóként szeretném használni, akkor Delay-el kell megállítani? Magyarul egy gombnyomásra bekapcsol a LED, újabb gombnyomásra kikapcsol. Erre szerettem volna használni a WaitUntilHigh vagy a Low parancsot, hogy addig megáll a program aktív kimeneti szinten, amíg meg nem nyomom a gombot újra.
Ha felhúzót használsz akkor a gombot aktív alacsonyra kell állítanod , és a svitch et is low ra nameg ahogy kokozo mondta kell egy változó és egy elágazás .
Ha egy gombbal akarod kapcsolni akkor már többirányú elágazás kell
Én nem ajánlom ezt a wait funkciót mert közben megáll a program, és ha mást is kellene csinálnia a picnek nem fogja addig csinálni ameddig várakozik.. de ha mindenáron ezt szeretnéd használni akkor egy egyszerű példa arra hogyan lehet ezt megoldani egyszerűen.
Érdekes, mindkét programot kipróbáltam a programban és ott hibátlanul működnek. Viszont ha beégetem a PIC-be akkor a LED ugye az elején világít, viszont ha lehúzom testre a bemenetet ugyebár elalszik, ahogy lennie kell. Viszont ha megszüntetem a lehúzást, akkor abban a pillanatban újra világít. Ez elég érdekes. Ez kokozo programjával van. Kaqkk programja, csak a lehúzás pillanatában villantja fel a LED-et, egyébként nem világít.
A hozzászólás módosítva: Szept 14, 2016
Ha kitalálod miért van ez akkor már tanultál valamit és fejlődtél a flow ban ...
A hozzászólás módosítva: Szept 14, 2016
Segítek kicsit nem világít hanem valószínűleg nagyon gyorsan villog
![]()
Elmélkedek rajta, most már könnyebb lesz előre jutni így. Köszönöm a segítséget!
![]()
Ez már működik, köszönöm! Most már az első kettő változat is működik szerencsére, próbapanelon volt a hiba. Köszönöm mindenkinek a segítséget!
![]()
Mind működik csak egyik se a jó megoldás
![]()
Ha a fontosabb dolgokat megszakításban intézed akkor semmi baj evvel a fajta gombkezeléssel ..
Igen, de ha nagy a program és ilyen gombkezelést használsz, akkor meg a megszakítás fog túlcsordulni, mivel véges az időkerete, tehát vagy a pic fagy le, vagy nem csinál meg mindent. Ha nem hiszed próbáld ki.
Nem értelek , mi köze a gombkezelésnek a megszakításhoz?
Idézet: Igen a főprogramot felesleges , de egy nagyobb programnál már érdemes a gombkezeléseket bemeneteket- kimeneteket- és minden mást -külön külön makróba tenni ... „Egyébként teljesen igazad van, teljesen felesleges megfogni egy bemenetért a főprogramot.” A hozzászólás módosítva: Szept 15, 2016
Idézet: ezt ugye elolvastad ... Amúgy meg csinálok két makrót és azokat hívogatom a főprogramból neki más feladatot nem is adok .... „de egy nagyobb programnál” A hozzászólás módosítva: Szept 15, 2016
Jó hagyjuk , mindig is tudtál minden érvemre ellenérvet (akár többet is) felvonultatni, Ez a specialitásod ezért is ...............
Neked van igazad ........
![]() A hozzászólás módosítva: Szept 15, 2016
Sziasztok!
A tegnapi programok közül az egyiket továbbfejlesztettem. Tulajdonképpen egy sebességváltó visszajelző lenne ez, 7 bemenettel, és 7 kijelző LEDdel. Ha az egyik bemenet egyszer kap 5V-ot egy pillanatra ,akkor addig világít a hozzá tartozó LED amíg egy másik bemenet nem kap 5V-ot. A programot módosítottam, a gépen működik, a valóságban is megy megépítve próbapanelon, viszont nem akar aktív szinten maradni a kimenet, a programban viszont abban marad. Feltöltöttem a programot. Valami beállítással lenne gond, vagy a programom nem jó?
A watchdog timer-t probáld meg kikapcsolni. Lehet hogy nem lát a programban semilyen műveletet és reset-el.
Kikapcsoltam, de sajnos ugyan az a jelenség.
Lévén sebességváltóról van szó, valószínűleg gépjárműben működik. Ebből kifolyólag szinte biztos, hogy tápfeszültség probléma van a megépített kapcsoláson. Esetleg, mivel a kapcsolók aktív magasra vannak állítva, valamilyen zavart szed össze a kapcsolás. Akív magas bemenet esetén jóval érzékenyebb a környzeti zavarokra minden kontroller, mint aktív alacsony bemenet használata esetén.
Még csak próbapanelon próbálgatom, bent a szobában. Tápfeszültségként a PICKIT2 kimenete szolgál. A VDD funkciót bekapcsolva kap feszültséget. Megpróbálom akkor aktív alacsony bemenettel.
Félreértettem, azt hittem, próbapanelen működik, éles helyzetben nem.
A Chip beállításaiban: Brown Out Detect: BOD and SBOREN disabled
Ez a programban működik, viszont élesben semmi se történik.
Átállítottam a Brown Out Detect-et és egyből jó lett. Köszönöm a segítséget! ![]()
Sziasztok! Összedobtam egy visszaszámlálót. A késöbbiekbe erre lenne szükségem és újraismerkedek a programmal.
![]()
Vazeg ezt el is felejtettem
![]() |
Bejelentkezés
Hirdetés |