Fórum témák
» Több friss téma |
Vagy próbáld meg ezt betölteni...
![]() ... Elég szomorú vagyok de nem adom fel. ![]()
Igen. Kicsit fapados megoldás, de működnie kell.
Természesen először a hex fájlt be kell tölteni, configbitek módosítása, égetés.
Most már azt kellene csak megfejtenem hogy a Flowcode-ból kijövö adatokat...
0x300000,0x2e 0x300001,0x3 0x300002,0xc0 0x300003,0xf 0x300004,0x0 0x300005,0x3 0x300006,0x0 0x300007,0x0 hogyan pipálgatom ide be... ...vagy egyszerűbb átírni a címeket a fenti listában? és akkor oda teszi a config bitet? biztos bugyuta kérdések
A CONFIG1 a 3000 és 3001, stb. Szerintem, mert én meg nem próbáltam.
Ez ok
![]() Mit, hol, hogyan, miért, áááááááá.... ![]()
A kulcs a következő sor:
Idézet: „:067FF8002E03C50F00037B” Ez a sor a konfigurációs adatokat a 7FF8 címtől kezdve tölti be. Az eredeti alap2.hex utolsó előtti két sorát kell kitörölni és a helyére betenni az idézett sort. Azaz
helyett
Üdv!
Írtam egy vezérlőprogramot assembly-ben PIC16F628A-ra. Egy unipoláris lépetőmotort szeretnék vezérelni vele az RB0-RB3 portokon, fél-léptetéses üzemmódban. Tehát a kimenet valahogy így nézki:
A program lényege, hogy a léptetéseket a Timer0 megszakításaival időzítem, amihez a uC belső oszcillátorát szeretném használni. A kód még kezdeti szakaszban van, de MPLAB-ban le tudtam tesztelni Logic Analyzerben, és ott jónak tűnnek a jelszintek (RB0_RB3.jpg). Csatoltam az ASM fájlt is (stepper.asm) Ezután fogtam magam és megépítettem prototípus panelre a dolgot, a B0-B3 pin-ekre ledeket tettem, hogy látható legyen az eredmény. (stepper-rel majd később szeretném kipróbálni) A problémám az volna, hogy ha pickit2-vel felprogramozom a uP-t, akkor nem csinál semmit. (próbáltam szimplán 0xFF-et írni a PORTB-re az működött) Mi lehet akkor a baj? Valamit elszúrtam a konfiggal?
Szia!
Elég hiányos a programod.... A megszakítási rutin elejéről hiányzik a regiszterek mentése, a végéről a visszaállítása. Szerencsédre a főprogram (még) nem érzékeny erre a hiányosságra. A megszakítási rutinnak (a visszaállítás miatt) csak egy kijárata (retfie) legyen. A megszakítási rutin lefutásakor állítsd be (a mentés közben vagy a végén) a bankot, amit használni szeretnél. Most az első megszakításkérés kiszolgálásakor a fázis változót nem a jó bank -ból ellenőrzi. Ötlet: Az irány változóban +1 a Forward, -1 a Backward -ot jelentse. Ekkor a 7 bit tesztelésével is lehet vizsgálni az irányt (1 lesz a Backward), és az irány változó egyszerűen hozzáadható a fázishoz. A fázisnál sem kell azt a sok feltételt kiértékelni, hanem az összeadás alsó 4 bitjét kell megtartani (andlw 0x0F). Majdnem elfelejtettem: Az MpLab ablakában felül, középen a Debug feliratot állítsd Release -re.
Valaki tudna segíteni ;
Ugye , még nemnagyon értek a PIC -ekhez és van egy 18f4520 -as chipem Dip40-es tokozásban és néztem az adatlapját , de nem tiszta , most van benne 40Mhz kristály vagy anyival működhet , vagy nemértem. Ugye van a Flowcode , abban csináltam néhány programot a chipre amin a 6-7 -es lábat (A4-5) és ha most oda kéne kötnöm egy kristályt , akkor átkéne írnom a programot most valaki kérem magyarázza ezt el. Köszönettel: Silent15
Heló!
Nagy előrelátásban van a PIC programozásának megtanulása C nyelven. Ennek érdekében az 1. 2 legnagyobb lépést megtettem: Megszereztem Kónya-Kopják " PIC programozás C nyelven " c. könyvét, illetve már csak össze kellene forrasztanom a PIC fejlesztőmet. A könyvben már elolvastam 30 oldalt, de tele van ismeretlen dolgokkal, amire külön nem tér ki. Pontosan mit ajánlanátok Ti, már profik, pontosan akkor hogyan is kezdjem??? Programozási ismereteim oda nyúlnak vissza, hogy BASIC-ben csináltam "digitront" ami össze tudott adni, meg kivonni, kb 3-4 éve. 5 éve tanulok informatikát. Írtam Vicsys leckéjei alapján egy saját programot C-ben, és ennyi... ![]() Üdv!
Szia,
nincs benne 40MHz-es kristály, ahogy az adatlapját nézem a belső órajel max. 8MHz-es. Ha ennél nagyobb frekin szeretnéd üzemelteti, akkor külső oszcillátor kell. Ha azokat a lábakat már használod akkor kaka, valóban át kell írnod a programot.
Nincs benne 40MHz quartz, nem is kell neki... Egy 10 MHz quartz kell a 13. és 14. lábakra (22pF kondenzátorokkal a földre) és HSPLL oszcillátor beállítás.
Szia,
ITT egy jó anyag a PIC-ekről. Én hitech c-ben programozom aminek a fordítója az MPLAB-ben alapból benne van. Eddig csak jót tudok mondani róla, bár az igaz, hogy az alapoknál járok (ADC, interrupt, digitális IO, TMR stb) Ha kell akkor tudok küldeni példaprogramokat, amiket én írtam 16f887-re.
Köszönöm !
Nagyon tetszik, mert a másik demopanelomon is 16F887 van, tehát jó lenne, de : nem tudok angolul nagyon. ![]()
Ok akkor majd szerintem használok vagy 10 vayg 20 Mhz -est és biztos újra kell írnom a programot , ugyanis A-C portig mindent használok
![]() Ha flowcode-ban beálítom a kristály-t , akkor elvileg átrakja ,magát a jó beálításra ugye?
Lenne mégegy kérdésem; A 100nf kerámia kondik hány voltosak legyenek?
Nem ismerem a flow code-ot. Hp41C kolléga kommentje alapján megnéztem az általad használt PIC adatlapját (csak belső oszcillátor részt olvastam el előtte). Nem a 6-7-es láb az oszcillátor bemenet hanem a 13-14 (RA7 és RA6). (Bár lehet, hogy te is erre akartál utalni.)
Sziasztok
16F628A-t akarok használni 3,3V-ról. PK2-be "use lvp mode entry" bejelölve, PGM láb AUX-ra bekötve. Olvassa is írja is, ok. Csakhogy 4,1 V alatt nem fut, holott adatlapja szerint: "Wide operating voltage range. (2.0 - 5.5V)" Valami baja lehet? Mondjuk az már feltűnt, hogy belső oszciról se megy, de ez a kisebbik gond. Ötlete valakinek? Üdv
Adatlap 136-os oldalát nézd meg.
De akkor ennek a kapcsolásnak a létjogosultságát nem értem :Bővebben: Link
Az adatlap 135. oldala alapján kapcsold ki a BOR -t és 10MHz alatt használd...
Ez is érdekes:
Adatlap Table 17-1: Vdd for Read: Vmin - 5,5V Vdd for Write: Vmin - 5,5V Flash Block Erase: 4,5V - 5,5V Vagyis lehet olvasni és írni 3,3V-on (egyszer), de törölni csak 5V-on. Vicces.
Sok JDM féle programozónak ezért van problémája az újraprogramozásával...
10 MHz-ig 3.0 V-os feszültséggel is működnie kell. Ha nem fut a program, akkor az lehet a baj, hogy nincs letiltva az LVP, az RB4 lábat pedig lebegni hagyod, s véletlenszerűen programozási módba vált.
Ha úgyis PICKIT2 programozót használsz, akkor fölösleg a Low Voltage Programming.
A BOD kikapcsolása eredményt hozott. Köszi
Idézet: „Ha nem fut a program, akkor az lehet a baj, hogy nincs letiltva az LVP” Mármint, hogy engedélyezni kell ![]() |
Bejelentkezés
Hirdetés |