Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   496 / 1210
(#) janimester válasza vicsys hozzászólására (») Márc 2, 2014 /
 
Köszönöm a linket
(#) icserny válasza janimester hozzászólására (») Márc 2, 2014 / 1
 
Tudomásom szerint csak a dsPIC30 sorozatban találsz 40 lábú DIP tokozású példányt. De ha jól tudom, ott 30 MIPS a plafon, és melegedik...

Az ennél nagyobb teljesítményű típusoknál már 3,3 V-os, kisáramú (tipikusan 4 mA) kimenetű eszközökre számíts, és ezeknél DIP tokozású csak 28 lábú lesz. (Lásd: PIC-kwik projekt)
(#) vidra8 hozzászólása Márc 2, 2014 /
 
Hali.

Azt szeretném megtudni, hogy létezik valamilyen megoldás arra, hogy egy *.hex -ba fordított programot átkonvertáljak *.asm -be majd 1-2 karatker módosítás után visszafordítani *.hex -ba?

Gondolom ehhez tudni kellene a microchip típusát is?
(#) don_peter válasza bbalazs_ hozzászólására (») Márc 3, 2014 /
 
Nem sértettél meg és teljesen jogos illetve megértem a kérdést.
A LED villogtatáson és magas-jel ellenőrzéses nyomógomb kapcsolgatáson már túl vagyok illetve az LCD-re való kiirkáláson is.
A portok kezelése és azok megértésénél tartok most és azon belül is az Analóg portok állítása és az adatok lekérdezése és feldolgozásánál.
Ez még nem megy most

Egyenlőre nem értem mit miért kell beállítanom és ennek megértése miatt akarok Analóg-os teszt programokat írni és azokat tesztelni, hogy megértsem azok működését.
(Piccolo cikket vagy 10szer végig olvastam, de számomra ismeretlen fogalmakat és érthetetlen jelen pillanatban. Túl szakmai és gondolom feltételezi a cikk írója, hogy már avatott vagy részben avatott olvassa azt)
A potméteres dologra én nem gondoltam, de nagyon jó ötlet a tesztelésre így ezzel fogok most majd kísérletezni, de persze a k típusú szenzoros téma is érdekel továbbra is.
Én így tanulok...

Tovább bonyolítja a dolgot számomra, hogy a változókat nem lehet egyszerűen kiíratni, hanem kiíratás előtt (LCD-re) formázni kell a típusukat. (PHP-ban ez rohadt egyszerű és JS-ben is)
De gondolom itt az LCD a ludas mivel ő nem tudja kezelni az egyes típusokat...
Vagy csak char formában tudja kezelni a szövegek kiírását.

Szóval legyetek türelemmel irányomban mert bár a téma roppant mód érdekelt mindig is, igazából én még csak most ismerkedem az elektronikával és azok összekapcsolásával, összekapcsolódásával esetleges mikrocsipek programozásával.
Cserébe viszont PHP-ben szívesen tudok bárkinek segíteni
A hozzászólás módosítva: Márc 3, 2014
(#) Hp41C válasza vidra8 hozzászólására (») Márc 3, 2014 /
 
MpLab: Config / Select device, View / Program memory - Symbolic , File / Import hex. Vizsgálódás, átírás, esetleg mentés. File / Export hex.
(#) usane válasza icserny hozzászólására (») Márc 3, 2014 /
 
ARM-ben nem vagyok otthon, de kiváncsi lennék egy hasonló kaliberű PIC és ARM erratájának összehasonlítására.
(#) NyariG válasza don_peter hozzászólására (») Márc 3, 2014 /
 
Akkor ezt is olvasd át :Bővebben: Link

meg a folytatásait.
(#) NyariG hozzászólása Márc 3, 2014 /
 
nekem olyan kérdésem lenne hogy egy spi buszon csak egy master, és egy slave lehet vagy lehet több slave is?
(#) icserny válasza NyariG hozzászólására (») Márc 3, 2014 /
 
Több slave is lehet. Amelyiknek lehúzod a CE jelét, az muzsikál.
(#) Hp41C válasza NyariG hozzászólására (») Márc 3, 2014 /
 
Kétféle megoldás lehet az egy master több save -re az SPI buszon:
- slave egységek SDI és SCK bemenete közös, de minden slave egyedi CS jelet kap,
- a slave egységek láncba vannak fűzve, közös a CS és a SCL. Az első SDI bemenete a master SDO kimenete, a második slave SDI bemenete az első slave SDO kimenet, stb. Ekkor az adatokat a bekötésből származó "helyükre" kell léptetni, eztán felvinni a CS -t.
Persze kevert rendszert is lehet készíteni...
(#) Balagemann2031 hozzászólása Márc 3, 2014 /
 
Sziasztok! Valaki meg tudja mondani, mitől van az hogy (18F67K90)-nél a watch ablakban nézem az SSP1STAT-reget, és nem íródik amikor kellene? csak MOVFF-el tudom írni. Eddig egyértelmű lenne hogy a Bank váltásnál van a hiba viszont, végig próbáltam már mind a 16 Bankot a BSR rel, persze feleslegesen, mert ez a reg az Access ram ban van, de akkor sem íródik... viszont a gyakorlatban működik a SPI kommunikáció az LCD-vel (nokia 3310) De én követni szeretném MPLAB ban is... Egyébként tudom hogy csak a 6. és 7.bit írható. Továbbá még egy észrevétel, ha simán SSPSTAT-ot írok SSP1STAT helyett, akkor is hiba nélkül lefordul, viszont SSPSTAT regje nincs ennek a picnek, ebben a formában. Találkozott már valaki ilyesmivel?
(#) kissi válasza Balagemann2031 hozzászólására (») Márc 3, 2014 /
 
Nem néztem utána, de más PIC-nél, ahol pl. 2 db USART van, ott az RXREG-et is elfogadja RXREG1 helyett, de ez látható a header file-okban, szerintem ez van az SSPSTAT-al is ( nyilván támogatva a program hordozhatóságát ).
(#) Balagemann2031 válasza kissi hozzászólására (») Márc 3, 2014 /
 
Igen én is gondoltam erre, de köszi a megerősítést!
(#) roland9 hozzászólása Márc 3, 2014 /
 
Sziasztok!

Szeretnék segítséget kérni egy kapcsolás megvalósításában, megtervezésében esetleg a pic program megtervezésében.


A kapcsolának úgy kéne kinéznie, hogy adott egy önindítós aggregátor ami egy 12V-os aksit tölt de csak nyomógombbal indul, és ezt szeretném át alakítani úgy, hogy ha le esik a feszültség az aksinál 11volt alá akkor, rá adja a gyújtást utána kb. 3 másodpercig önindítozik majd ujabb 5 másodperc múlva abba hagyja az indítást és az indítás után 10másodpercel rá kapcsolja a gerjesztő tekercset.
Ez lenne az egyik része a kapcsolásnak.

A másik pedig, hogy ha az aku feltöltött (söntön keresztül lenne figyelve) akkor pedig ki kapcsolná a gyújtást és a gerjesztő tekercset is. Ha pedig újra merülő félben lenne az aksi akkor indulna újra a folyamat az elejétől.

Segítségeteket előre is köszönöm.
(#) Balagemann2031 válasza Balagemann2031 hozzászólására (») Márc 4, 2014 /
 
Ha valaki ráér nézze meg kérem ezt a pár sort! Már végképp tanácstalan vagyok. Az SSP1STAT accessben van, az SSP2STAT banked. Gyakorlatilag a csak olvasható biteket tudom írni, az írhatóakat nem. Nagyon boldog lennék ha valaki felvilágosítana
(#) nedudgi válasza Balagemann2031 hozzászólására (») Márc 4, 2014 /
 
Minden ilyen esetben érdemes megnézni a lefordított kódot (disassembly listing), hogy tényleg az került-e bele, amit gondoltál?
(#) matheattila válasza Balagemann2031 hozzászólására (») Márc 4, 2014 /
 
Csak egy észrevétel, de egyáltalán nem biztos, hogy ez a gond: a legtöbb program nem szereti az ékezetes és/vagy szóközzel ellátott elérési útvonalát a projekteknek.
Lehetőleg próbáld meg olyan mappába menteni a projektjeidet ahol se ékezet se szóköz nincs, szóköz helyett használj nyugodtan alulvonást (_).
(Én sokszor már megszokásból a pdf és hasonló fájloknál is alulvonást használok ) )
(#) kissi válasza matheattila hozzászólására (») Márc 4, 2014 /
 
Egyetértek, sokszor találkoztam már tanárként ezzel a problémával és az a baj, hogy teljesen "véletlenszerű" a működés ( néha megy, néha nem ugyanaz a projekt, valószínűleg a Windows egyéb dolgai miatt ! )!
A hozzászólás módosítva: Márc 4, 2014
(#) Hp41C válasza Balagemann2031 hozzászólására (») Márc 4, 2014 / 1
 
Szia!
Az SSPxSTAT regiszterek felső két bitje írható csak. Működik minden, ha az SSP2STAT -ot banked módon és megfelelő mintával írod...

67k90_SSP.JPG
    
(#) Balagemann2031 válasza Hp41C hozzászólására (») Márc 4, 2014 /
 
Köszönöm szépen! Hazudnék ha azt mondanám hogy értem, de akkor ebben a formában fogom használni a továbbiakban. Egyébként a banksel nem ugyan az ebben az esetben mintha MOVLB 0x0F-et írnék BSR-be? Én eddig nem adtam meg külön az operanduszok után a 3. paraméternek, hogy Access, vagy Banked, elég volt csak BSR-t állítani, és pl az SSP2CON1-et tudom írni.

Köszönöm a többieknek is a segítő szándékot! Megfogadom a tanácsokat!
(#) Balagemann2031 válasza Hp41C hozzászólására (») Márc 4, 2014 /
 
Köszönöm hogy időt szakítottál a problémámra! Beírtam úgy ahogy a képen van és ugyan azt csinálja. Most töltöm le az MPLAB v8.9-et, mert nem bízok mostmár a v8.7ben. Ha kipróbáltam megírom! Köszi mindenkinek a segítő szándékot!
(#) Balagemann2031 válasza Balagemann2031 hozzászólására (») Márc 4, 2014 /
 
Jelentem MPLAB v8.9-cel tökéletesen működik! Eszerint az MPLAB v8.7 bugos volt. (vagy passz)
(#) Hp41C válasza Balagemann2031 hozzászólására (») Márc 4, 2014 /
 
Amikor beállítod a típust, a "LED" -ek mutatják, hogy mi mennyire működik. Egy sárga jelzés a szimulátornál nem jelent túl sok jót...
(#) DaviS hozzászólása Márc 5, 2014 /
 
Sziasztok!
Egy PIC16f1829-el szeretnék egy 3 csatornás PWM-et készíteni. 4-20Khz-ig állítható frekvencia, 50% kitöltéssel. Egy fix csatorna, a másik kettőnek meg külön állítható fázis kellene az elsőhöz képest 0-180 fokig. HPWM-el ez megvalósítható? Valami ötlet?
(#) SzT3 hozzászólása Márc 5, 2014 /
 
Sziasztok!

Jel illetve frekvenciagenerátort szeretnék valahogy összehozni!
Az lenne a cél hogy mondjuk 130MHz-től 180 MHz ig állítható módon jelet adjon a beállított frekvencián, tehát mondjuk 140MHzn adjon 1W teljesítménnyel, utánna 141 MHz-n stb stb
A célja az lenne hogy bizonyos frekvenciákon SWR-t mérnék ezáltal hangolni tudnám az antennákat
hiszen mondjuk mér 140-160 MHz-en és ahol legalacsonyabb az SWR érték ott "rezeg" az antenna!
Az SWR mérés egy "swr bridge"-el megoldott!
Végszükség esetén kiherélek egy VHF adót és a PICel léptetem azon a frekvenciát majd adásra nyitok!
Minden ötletet szívesen meghallgatok!
(#) SzervízMacska válasza SzT3 hozzászólására (») Márc 5, 2014 /
 
Szia! Ezt egy kézi vhf rádióval szoktuk csinálni. Nem tudom az okát, de a legtöbb komoly műszerhez 4-5 W-os meghajtás szükségeltetik a pontos mérés érdekében. Ez kissé behatárolja a szóba jöhető adókat... De mit csinálna itt a pic szerinted? Mert az antennákat konkrét frekire szoktuk hangolni, azt meg a mai rádiókban el lehet menteni.

És közben illene hallgatózni is, hogy ne zavard a forgalmazást..

Persze, vannak komplett antenna analizátorok is, de gondolom, nem egy ilyet szeretnél itt megterveztetni a pic kezdők keretein belül?
A hozzászólás módosítva: Márc 5, 2014
(#) don_peter hozzászólása Márc 5, 2014 /
 
icserny: Piccolo projekttel kapcsolatban kérdeznélek.
Tetszik ez a bootloaderes téma, de szeretném úgy használni, hogy ne keljen a Piccolo projekt fájlokat használnom.
Egyszóval szeretném függetleníteni és saját programokat bele írni úgy, hogy az nekem is működjön a p18f4550-ömbe.
A lényeg, hogy el tudjak függetlenedni a Piccolo teszthardvertől.
Szeretnélek megkérni, ha ez egyáltalán összeférhető a tevékenységeddel, hogy egy kis leírásban összefoglalhatnád, hogy mik azok a kötelező fájlok amelyek feltétlen szükségesek a bottloader működéséhez és mik azok az alap regiszterek melyeknek az általam megírt programban szerepelnie kell, hogy működőképes maradjon az USB Boot.?
A reset és boot gombok illetve 1db boot jelző lednek meg kellene ettől független maradnia, hogy látható legyen az aktuális állapot.
De gondolom ezt a bootloader hex fájlban kell leprogramozni.
Bár az lenne a legjobb, ha az állapot led is konfigurálható lenne.
Megoldható ez véleményed szerint vagy nem össze egyeztethető az eddigi munkásságoddal?
(utóbbinál a bootloader védettségére gondolok)

Előre is köszönöm az infókat.
(#) kissi válasza don_peter hozzászólására (») Márc 5, 2014 /
 
Szia!

Remélem elfogadsz egy kis segítséget tőlem is, mielőtt icserny kolléga újra elérhető lesz... A bootloader az egy olyan program, ami eleve benne van a PIC-ben, ezt egy "normál" programozóval kell betöltened a PIC-be. Icserny kolléga tapasztalatom szerint figyel a szerzői jogokra, így ha nem említi külön a cikkben, akkor biztos, hogy szabadon használható programokat alkalmaz a leírásaiban ( most nem néztem meg, de úgy emlékszem a Microchip-ét). A bootloader programoknak az a sajátossága, hogy induláskor megvizsgál egy feltételt (pl. van-e alacsony szint a kontroller bizonyos lábán ) és az alapján dönti el, hogy futtathatja-e a benne lévő felhasználói programot vagy álljon át a "betöltő" funkcióra. Ennek érdekében a kontroller bizonyos programmemória területét el kell foglalnia, amit Te nem írhatsz felül, erre a loaderek "kínosan" ügyelnek a Te érdekedben is ! Ez azt jelenti, hogy a programírás során bizonyos feltételekre kell figyelned: honnan kezdheted írni a programmemóriát és meddig, hova kell tenned a megszakítási függvények belépési pontját! Ezeket az információkat kell megtudnod a bootloader leírásából ( vagy icseny kolléga honlapjáról ) és ennek megfelelően elkészítve a programot kell rátöltened a kontrollerre! Azt, hogy melyik lábat figyeli a kontroller és hol van a visszajelző LED szintén az előbb említett leírásokból kell kihámoznod ( jól gondoltad egyébként, ha megváltoztatható, akkor újra kell fordítanod és betöltened a bootloader-t a szükséges változtatások után!).
Remélem érthető voltam ebben a késői órában !
A hozzászólás módosítva: Márc 5, 2014
(#) icserny válasza don_peter hozzászólására (») Márc 6, 2014 /
 
Idézet:
„Tetszik ez a bootloaderes téma, de szeretném úgy használni, hogy ne kelljen a Piccolo projekt fájlokat használnom.”
Semmi akadálya. Arra azonban felhívnám a figyelmet, hogy a Michrochip Applications Library-ban (MAL) található HID bootlader konfigurációs bitjeinek beállítása hibás (nincs engedélyezve a BOR, emiatt a bootlader kikapcsoláskor felülírhatja magát). Ezért vagy újra kell fordítani azt (a korlátozott optimalizálású C18 Lite változat nem tudja lefordítani!), vagy használd az általam módosított változatot (én a gyári HEX-et szerkesztettem meg Notepad editorral). Ebben PIC18F4550 esetén annyi "kötöttség" van, hogy a Boot gomb RB4-en van, s az RD0, RD1-en egy-egy LED-et feltételezünk.

Egyébként a "kísérleti áramkör" c. részben olyan kapcsolást igyekeztem összehozni, ami egyszerű, mint a faék, s lehetőleg kompatibilis a Mirochip FSUSB kártyájával, hogy az ahhoz kidolgozott mintaprogramokat gond nélkül használhassuk.

Más hardvert is lehet illeszteni a PICCOLO projektbe, például a 100MHz.com DIP-40 Minikit kártyájához is csináltam már hardverprofilt, de ekkor minden egyes mintaprogramot át kell nézni, mert lehet nem minden hardver eltérést kiegyenlíteni azzal a primitív szintű absztrakcióval, amit a hardverprofilokban használok.
(#) don_peter válasza kissi hozzászólására (») Márc 6, 2014 /
 
Köszönöm az áttekintést.
Akkor valószínűleg ez volt a gond minden esetben, hogy gyakorlatilag beégettem a bootloader-t majd írtam egy saját kis programot tesztelés céljából, kínosan figyelve a lábkiosztásokra és mikor a bootloader programmal feltöltöttem a PIC-be széthullott az egész.

Van erre egy leírás ezt már icserny-től kérdezem, hogy hogy állítsam be ezen memória területeket, hogy (mettől-meddig) hová írja be az én programomat? (természetesen maradnék a Piccolo bootloader használatánál)
Próbálkoztam úgy is, hogy a Piccolo projekten belüli fájlokat elkezdtem szelektálni és így próbáltam kiszűrni a bootloadhez szükséges fájlokat, de túl sok az összefüggés köztük így a végére mindig visszatértem az égetősdihez, de ez meg körülményesebb.

Azt gondolom jól sejtem, hogy az USB-hez szükséges összes fájl és regiszter kötelező mivel azt használjuk.
Nézegettem a PIC linkerét, hogy esetleg az is kell e bele mivel láttam, hogy a Piccolo-s linkerek módosítottak.
Nos nem tudom mennyire tudtam megfogalmazni a gondolataimat, de remélem valamelyest érthető.
Előre is köszi srácok.
Következő: »»   496 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem