Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Lehet már sok is...
Most találtam olyat, hogy a pull-up current min=50uA max 400uA. Eszerint a 200uA-t veszem mint középértéket, akkor 5/0,0002=25K Jól gondolom? Ha ez igaz akkor a 4k7 sok mert az kb 1mA lenne.
Jól gondolom, mert 22k-val királyosan működik
Nem teljesen ebből az irányból kell megközelíteni a kérdést. Az az adat, amit találtál, az a beépített felhúzó "ellenállásokra" vonatkozik, amik tulajdonképpen FET-ek és inkább van áramgenerátor- mint ellenállásjellegük. Ez éppen támpontnak elég lehet, ezt ki is számoltad, hogy kb. 25k-val lehetne hasonló mértékű felhúzást elérni, mint ami gyárilag van a PIC lábaiba beépítve.
Egy másik szempont szokott lényeges lenni inkább, mégpedig a zavarérzékenység. Minél kisebb impedanciás a bemenet meghajtása, annál nagyobb zavarjel kell ahhoz, hogy a bemenetről fals értékeket is lehessen olvasni. Ez arra ösztökélne, hogy minél kisebb ellenállást tegyen az ember a felhúzásba, ennek viszont a gyakorlati korlátait a használt kapcsoló kontaktusa és nem utolsósorban a zárt kontaktusnál fellépő áram fogja jelenteni. Mivel a PIC kivezetését bemenetként használod, arra (elvileg) nem folyik áram, tehát amiatt egyáltalán nem kell aggódni. Az a 4k7, amit vicsys javasolt, a gyakorlatban bevált érték, azért is mondta. Sokszor még a gyárilag beépített felhúzóellenállások mellé is szoktunk rakni külsőt, ha kell a nagyobb zavarvédettség.
Őszintén szólva én 5V-ra javasoltam a 100 ohmot, így nem csodálom, ha langyosodik.
Igen, valahogy így ajánlja az egyik példaprogiban is a vételt. Persze ez így elég fapados, de működnie kéne!
Én asm30-ban nyomom, és szerintem nem bonyolultabb, mint a C, legalább is amíg nem kell gyököt vonni! Ma nem volt időm(egy AD9200-at próbáltam ki egy dsPIC33-al, tök jól sikerült! ) , de talán holnap összedobok valamit, amit ki lehet próbálni. Egy biztos, hogy nem a baudrate-el van baj, mert akkor küldeni se lehetne. Inkább a láb konfigokkal, vagy esetleg a PIC-el. Az UART teljesen azonos a többi 16 bites példánnyal, mennie kéne! Ez egy tök alap dolog. Bizots valami nagyon bagatel hiba lesz!
Azt nem olvastad, ami én előbb írtam? Tönkre fogod tenni a PIC-et! Mit keres ott 12V? Írtam ,hogy ahhoz tranyó kell! Na mindegy......
Köszi így már világos!
Következő problémám, van egy 'State' változóm ami alapértelmezetten '00000001' -re van beállítva. Ez minden gombnyomáskor egyet forgat balra carry nélkül. Tehát a 8 állapot körbe-körbe forog. A 8 állapot 8 funkció lenne. Namost még nem jó, szeretném debuggolni, de nem tudom, hogyan tudnám kiiratni a 'State' változóm aktuális állását. Valahogyan úgy szeretném mint az SFR-ket a Watch ablakban. Oda viszont nem tudok felvenni csak SFR-t Mi a megoldás erre? ui: MPLAB+ICD2 a környezet
Bármilyen regisztert fel lehet venni a Watch ablakba, az általad készített változókat is. Vagy nem jól értem a problémát?
Idézet: „Egyébként én a handshaking (rts,cts) lábakat nem akarom használni, és az ioconfignál azt alapban hagytam.” Vajon a PC oldal is tud erről, vagy a végtelenségig várja a CTS jelet? (ha a soros kábel PIC felőli oldalán csak a 2-3 pontokat kötöd össze, és full duplexben megy a küldés/fogadás, akkor minden OK). Mellesleg én oszcilloszkóppal vagy a PICkit2 logikai analizátor módjában megnézném, hogy mi jön azon az RX vonalon... Idézet: „Bár a 004 adatlapban nincs utalás a 002-re.” Már hogyne lenne! Lásd az adatlap 1-2., 7-9. és 15. oldalán! Idézet: „Valahogyan úgy szeretném mint az SFR-ket a Watch ablakban. Oda viszont nem tudok felvenni csak SFR-t” Ha a programod lefordult, akkor a Watch ablakban az Add Symbol gomb melletti legördülő listán keresd meg a State változódat. Kattints rá és az Add Symbol gombbal vedd fel a watch listára.
Igenám, de nekem az 'Add symbol' gomb szürke, vagyis nem megnyomható...
Futás közbe pause, és ekkor kellene tudjam felvenni? Idézet: „nekem az 'Add symbol' gomb szürke, vagyis nem megnyomható...” A projekt legyen megnyitva és legyen aktív. Lásd Projects/Set Active Project. Ha ott a None előtt van pipa, akkor sürgősen válaszd ki alatta a megnyitott projektedet. Idézet: „Futás közbe pause, és ekkor kellene tudjam felvenni?” Szerintem indítás előtt vedd fel, de mindegy...
Az aktuális project az aktív.
Se elötte se utána nem nyomható meg nekem a gomb. Talán valami a beállítások között , de fogalmam sincs ,hogy mi lehet
Szívesen megosztom az MPLAB ablakomat ha valaki megnézegetné. Viszont akkor azt is árulja el, hogy milyen programmal. (utoljára netmeeting-ben láttam ablakmegosztást)
;***********************************************
CBLOCK pwm_duty pwm_loop Timer1 Timer2 Temp Temp2 State ENDC ;********************************************** Az nem lehet baj, hogy nem adok meg címet a CBLOCK után? Amúgy bele lehet húzni drag'n'droppal is a változót, akkor megjelenik, csak az értéknél az van, hogy 'not found'... Idézet: „Az nem lehet baj, hogy nem adok meg címet a CBLOCK után?” De igen, ez lehet hiba! Így 0-tól kezdi lefoglalni a RAM rekeszeket, ami érvénytelen RAM cím, mert a RAM az SFR címtartomány után kezdődik. Tehát pl. "CBLOCK 0x20" kell (vagy ahol a RAM kezdődik). Erre egyébként az .err fájlban kapott üzenetek figyelmeztetnek is. Tényleg: hogy néz ki nálad az .err fájl tartalma? (A 302-es üzenetek nem számítanak, azokat ne másold be!) A Project/Build Options/Project menüben az MPLINK Linker opciói közt van zöld pipa a Generate Map file előtt? (Bár én azzal sem tudom "elhomályosítani" az Add Symbol gombot...)
Nem tudom, de ha jól emlékszem, az akkor sem szürke, ha egyáltalán nincs változó deklarálva, legfeljebb üres a lista. Lehet hogy rosszul emlékszem. MPLAB közelben vagy, meg tudod nézni?
Írtam, hogy ma délután tudok vele foglalkozni, de mivel nincs ilyen PIC-em itthon, ezért egy dsPIC33-al tudok egy próbát tenni. Mivel az UART egyforma, ezért ha a ugyanazokkal a beállításokkal működik mint neked, akkor már csak az RPx kiválasztásoknál kell keresd a hibát!
Ha lesz időm, akkor átírom a Te PIC-edre is, de azt ASM-ban. Ha működik, akkor a C-ben lesz a kutya alásva.
Ezer hála !
Én éjjel hiába próbáltam bármit akkor sem megy. Arra jöttem rá, hogy a vételi regiszterek meg sem mozdulnak. Szerintem a portkiválasztásban van gond, de megvárom, hogy neked mi lesz az eredmény. A másik, hogy ezt az mplabC30-at egyáltalán nem ismerem. A Ht-soft fordítókat jobban ismerem, de annak a dspic-es változatában még egy mintaprogi sincs. Idézet: „Nem tudom, de ha jól emlékszem, az akkor sem szürke, ha egyáltalán nincs változó deklarálva, legfeljebb üres a lista.” Valójában nálam a lista sem üres sohasem, mert a PIC .inc állománya is definiál egy rakat szimból(e)umot, azok is ott sorjáznak a listán...
Miért nem nézed meg a 16-Bit 28-Pin Starter Board (DM300027) PIC24-es demóprogramját?
Igaz, hogy abban az U1-et konfigurálja, de az U2 sem különbözhet sokban, s gondolom, a demo programba is belinkelt p24fj64ga002.h fájlban megtalálhatók a szükséges szimbólumok. Idézet: „A másik, hogy ezt az mplabC30-at egyáltalán nem ismerem.” Akkor miért nem próbálod az ASM30-at? Sokkal jobban látni mit miért csinálsz... Nem a nyelv az ami nehéz, hanem mire kiismered a fejlesztői környezet gumicicáit! Más részt pedig amit icserny csatolt, az komlett kész példa! Mennie kell!
Szia Lozsa !
Ez a szürke gombos probléma nálam akkor lépet fel amikor az MPLAB-ban nem megfelelő PIC-t választottam ki (Configure>select device...)
Köszönöm a Dallamos segítséget.
Mivel elég kezdő vagyok ezen a téren azt szeretném kérdezni, hogy nem tud e valaki nekem egy olyan program részletet küldeni ami be mutat egy gomb által léptetett számlálot? Ami belép a programba és 7szegmenses kijelzőre kiírja az beállított értéket? Köszi Tom
tom75!
Lenne néhány kérdésem, de ne less(tilos a google!) 1. Mennyi a 14. bit helyiértéke egy szóban? 2. Írd le a 0xDEBB értékét binárisan és decimálisan(számológép használata tilos! ) 3. Hogy illesztesz egy gombot egy bemenetre(milyen alkatrészek kellenek, hogy állítod be a PIC lábat és hogy oldod meg a prell mentesítést?)? 4. Milyen busznak hívják, amivel kiválasztjuk a memória egy rekeszét? 5. Mi az az ALU? 6. Egy LED elé milyen ellenállást tennél egy PIC kimenetre, hogy számolod ki? 7. Hogy illesztenél egy 7szegmenses kijelzőt PIC-hez? 8. Mire jó a PIC-ek inc fájlja az MPLAB-ban, mi van bennük? 9. Egy hangszórót(dallamcsengőhöz), hogy illesztesz a kimenetre? stb.... Nem lehet, hogy rengeteget kéne olvasnod, tanulnod, mielőtt programot akarsz írni egy PIC-es áramkörnek? Egy PIC nem PC, hanem egy elektronikai áramkör, amit véletlenül lehet programozni is! Elektronikai és számítástechnikai alapok nélkül nem fog menni, ill. el fogsz akadni a LED villogtatónál, főleg, ha más írja meg azt is helyetted! Nincs azzal semmi baj, ha most még nem értesz hozzá, inkább azzal van a baj, ahogy megközelíted a témát. Olvass vissza a topicban és találni fogsz számtalan linket kezdőknek, valamint itt a HE oldalon is van egy csomó jó cikk az alapokhoz. Sok sikert! (Ha valaki, azért hogy nekem ellent mondjon, küld neked egy programot, nem fogsz menni vele semmire! )
ciw!
Valami szöget ütött közben a fejembe. Az általad használt lábak analog bemenetek is egyben. Letiltottad az analog portot?
a többi portot is édemes megnézni, nehogy alapértelmezsben bekavarjon (PMP, SPI, stb...)
Hát az analogot nem kapcsoltam ki.
Köszönöm, ezeket kipróbálgatom. Azért nem használok asm-et, mert a kód többi része bonyeszabb lesz és asm-et már régen használtam. Igazából a "megrendelő" adta a kezembe ezt a picet, mondván 2 uart kell és ez dip-es. Én mondtam neki, hogy pl. 18F6622-vel már rég elfelejtettük volna az egészet, de ő nem akar költeni nyákra.... Szóval ennyit a tipikus jólfizető munkákról, amikor egy ismerősnek nagylelkűen segít az ember, akkor így megszivatja, csak azért, mert ő sajnál pár ezer ft-t egy nyákra. De mindegy nem volt szándékos. Gondolom.
Ismerős a helyzet! Nagyon kíváncsi vagyok erre az analog letiltásra!
|
Bejelentkezés
Hirdetés |