Fórum témák
» Több friss téma |
Á, így már világos. Á, a kapcsoló meg a tologatható.. Köszi !
Idézet: „Az hogy a goto és a call is hívja a szubrutint, azért van mert nem tudtam máshogy megoldani, de mindenképpen kilép a szubrutinból.” Ez nem teljesen így van, mert ha egy gotoval ugrasz a rutinba, a return biztosan kiakassza a stackot.
Ebben igazad van, de ha megnézed a programot, láthatod, hogy figyeltem erre is. Azt elismerem, hogy nem egy elegáns megoldás.
Én is használtam ezt a módszert, nincs gond vele, csak figyelni kell, hogy meglegyenek a call-return párok. A programodban ezek megvannak, ezért nem is boncolgattam tovább.
Nagyobb program esetében nagyon el lehet keveredni, ezért ha lehetőség van, kerülni kell ezt a megoldást.
Ezekre figyelni szoktam, ha nem kapkodik az ember, (ahogy az előzökben olvashattuk) akkor nincs baj, persze mindenki hibázik.
Lenne egy kérdésem, hogy lehet egyszerűen megcsinálni, hogy az RBIE megszakítást ne hajtsa végre kétszer? Neztem az adatlapot, de hijába mentem le a PORTB-t akkor is megcsinálja. Eddig csak úgy sikerült, ahogy a számláló progiban van.
Hali!
Nagyjából kész lettem , de bele is fáradtam a rajzolásba. Át kellet rajzolnom a fejlesztő nyákját, mert nem voltak megfelelők a furatok, meg a forrpontok nagysága. Kb kész lettem a rajzzal. Kérem valaki nézze át. Remélem nincs sok hiba, bár a táp résznél, a bal felső részen valamit lehet elbénáztam, de majd az okosabbak rájönnek.
Sziasztok.
Először is, elnézést, ha rossz helyre tettem az új téma nyitását, de nem lehetett kiválasztani a pontra menőt. A kérdésem a következő, hogy pl egy PIC16F887-nél mik a configok. Gondolok itt a következőre:
Például a fenti kódrészletben mi, mit csinál? Honnan lehet tudni, hogy mik és hogyan állíthatóak? Ezen kívül biztos van még több féle config utasítás, azokat honnan tudom meg, hogy mik? A microchip főoldalán található PDF-eket végignéztem, a config részben szereplő szavak-ra rákerestem, de semmi találat. A segítséget előre is köszönöm.
- Az 5. nyomógomb nincs bekötve sehová,
- A 7805 bemenete és a föld valamint a kimenete és a föld közé, közvetlenül a tokja mellé 100nF kerámia kondenzátor - esetleg alulról SMD 1206 vagy 0805 néretben. - A 7085 kimenete nem jut el a pic táp lábára, - A bejövő föld vezeték az oszcillátor után nem csatlakozik a 7805 földjéhez. - A felső furatsornak nem kellene a 7805 kimenetére csatlakoznia?
Oké, köszi , mindjárt nekiesek, és kiderül mi sül ki belőle..
No, itt az új verzió:
Ezt javítottam ki: -A gombok rosszul voltak bekötve -A kondis kérdést nem értem. A PICnél ott a 100nF és az eredeti tervben se nincs semmi más 100nF -Bekötöttem, hogy eljusson a PIC táp lábára Az oszcilátort is csatoltam a földre -A felső furatsort meg nem értem... Nézd át, ezeket jól csináltam-e, meg van -e esetleg még valami...
Megint elveszett a válaszom... Pedig több, mint 5 percet gépeltem...
Szia!
A 16F88x adatlapjának "14.0 SPECIAL FEATURES OF THE CPU" felyezetének "14.1 Configuration Bits" bekezdéséből... Ha az MpLab programot a dafault könyvtárba telepítetted, akkor a c:\Program Files\Microchip\MPASM Suite\p16F88x.inc állomány végén vannak a konfigurációs szimbólumok definíciói. A 16F88x nek két konfigurációs szava van, amire a _CONFIG1 és a _CONFIG2 szimbólummal lehet hivatkozni. Az MpLab program a Config / Configuration bits menüpontben szövegesen kifejti az értékeket. __CONGIG - konfiguráci megadása direktívája, _CONFIG1 - az 1. konfigurációs szó megadása _INTRC_OSC_CLKOUT - Belső RC oszcilátor CLKOUT kimenettel, stb. A konfigurációs konstansok az adott helyeken a kívánt bitmintát, más konfigurációs bitek helyén 1 értéket tartalmaznak, így a teljes szó a mezőkhöz tartozó bitminták közötti ÉS (&) művelettel áll elő.
A két 100nF nincs benne, a 7805 nem táplálja a pic -et (Vdd)...
Te sem olvasod el a topic kiemelt részét! Eszméletlen... (Tudom ne válaszoljak, ha nem tetszik valami! Jópofa!)
Hp41C pedig biztosan egy robot...
De elolvastam ! Nem is most.. Akkor rakjak még egy 1206SMD-s 100nF-ot a VDD VSS közé???
Szia! Elvileg két jeled között simán le kell tudni kezelni a megszakítást. Tehát minden jel után, amit a tárcsa ad, megszakítás keletkezik, amit le kell kezelni! Több ezer Hz-el lehet ezt csinálni, ha csak azt végzed ez a megszakításban, ami szükséges.
Próbáld leírni, hogyan közelíted meg a kérdést! Igyekszem válaszolni, de ma sok melóm van...
Persze, hogy nincs értelme, de nem szeretném ha valami rövid túlfeszültség tönkre vágná a dolgot, rakok bele egy 4,3vos zenert a biztonság kedvéért.
Beraktam a VDD VSS közé a 100nF-ot, de a tápot nem lehet oda vezetni. Azt majd a jackre rákötöm dróttal, okés? Megnézitek?
Hmm. Nah, máris előrébb vagyok mint voltam.
De sajnos kb csak a felének van értelmes leírása, a többi, hááát.
Hát ez aztán... nagyon sokat mond. Ezekre hol találok leírást, hogy melyik mi? Vagy pl ez:
Oké hogy be és kikapcsol valamit, de MIT? A PW nekem a powert jelenti, ha jól értelmezem, de most mi, ezzel ki be kapcsolom az egész PIC-et, vagy mi? Az adatlapban lévőkből meg semmit sem értek.
Sajnos nekem is sok dolgom van, de megpróbálom mihamarabb lerajzolni az elméleti sémát.
Legyetek szíves segítsetek.
Annyit kellene csinálnia, ha lenyomom az egyik gombot, akkor a LEDsor közepe világít, ha elengedem a gombot, akkor meg csak az eleje. De ez így miért nem működik:
Nem kellene ezen ennyit problémázni, hiszen az INC állomány definíciói csak a konfigurációs bitek kényelmesebb megadási módját hivatottak segíteni.
A konfigurációs bitek szerepét az adott mikrovezérlő adatlapja írja le, a "Special Features of the CPU" c. fejeleztben. Az egyes beállításokhoz tartozó magyarázat pedig a további alfejezetekben található meg. Pl. a kérdezett PWRT funkcióját a "Power Up Timer (PWRT)" alfejezet ismerteti: egy kb. 72 ms várakozást iktat be induláskor.
Ha szabad kiegészítenem Hp41C-t, az említett P16F887.inc-ben ha megnézed az EQU utáni sort, és azt látod H'3FFF' az az alapbeállítása. Ha például a DEBUG-ot nézed:
_DEBUG_ON EQU H'1FFF' _DEBUG_OFF EQU H'3FFF' Ez azt jelenti, hogy alapértelmezésben ki van kapcsolva. Ha így jó neked, akkor nem kell vele foglalkoznod. Ha használni akarod a funkciót, akkor be kell írnod a _DEBUG_OFF -ot a sorba, ahogy a példádban is szerepel. Csináltam egy excel táblát, ahol én be szoktam állítani a használni kívánt configomat, és égetés előtt ellenőrzöm, hogy a HEX értéke stimmel-e. Ebből rájövök, ha valamit rosszul állítottam. Szívesen megosztom, ha föltehetek ide excel táblát.
A "Special Features of the CPU" c. fejezetből szinte semmit sem értek.
A legtöbbet az INC állomány segített, de abban meg sok mindennek nincs leírva a haszna.
Köszi az excelt, de ettől még sajnos továbbra sem tudom, hogy mi mi jelent (1-2 kivétellel).
Elfelejtetted beállítani az ANSEL regisztert.
Idézet: Talán egy kicsit több időt kellene szánni rá. Mindenesetre én csak az információ megtalálásában tudok segíteni. „A "Special Features of the CPU" c. fejezetből szinte semmit sem értek.”
Köszönöm.
Így már tökéletesen működik.
Nem fordítva?
Jah de.
De nem az volt a lényeg. |
Bejelentkezés
Hirdetés |