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   293 / 1210
(#) El_Pinyo válasza n_yálastrubadúr hozzászólására (») Aug 5, 2012 /
 
De addig blokkolva kellene várakozni, amíg a karakter elküldésre nem kerül a PIC felől. Ezt a TXIF flag pollozásával lehet megtenni az esetedben. Amikor a flag értéke "1", akkor lehet tölteni a TXREG-et, amíg "0", addig várakozni kell.
(#) proba válasza n_yálastrubadúr hozzászólására (») Aug 5, 2012 /
 
Vételnél az összes hibaregisztert kezelni kell.Ha kell újraküldetni .Ha a piccel adsz akkor célszerű valami kódolást ,esetleg paritás ellenőrzést alkalmazni,és ennek függvényében újra adatni.Magát a hibás vételt az alap kommunikációval nem tudod szerintem kiküszöbölni, mert abból ered hogy a küldött byte szintváltását érzékeli start/stop jelnek (mivel az eredeti megsemmisült) Így kedvezőtlen bitminta esetén elcsúszik a vétel.Az elcsúszás ellen esetleg úgy védekezhetsz, hogy egy byte időnél lényegesen többet várakoztatsz két küldés között.Így a zavar által elcsúszott vétel helye állhat,a következő start jelnek már nem zavar be a küldött karakter.
(#) n_yálastrubadúr válasza proba hozzászólására (») Aug 5, 2012 /
 
Szia!

Nézem a txif-et sőt néztem már txsta,trmt-t is de akkor is elrontja. Csak akkor válik be amit mondasz ha többet nem küldök, hanem végtelen ciklusba kerül. Hogyan nézzem hát hogy befejezte-e ha a két flag egyike sem hatja meg mert felülírja. A pickit uart-ja legallábis félreolvassa. És a pickit2 uartjában hogyan lehet beállítani a paritásbitet?


Észrevettem ha több bájtot küldök mondjuk 1,2,3 formában nincsen közötte rossz info, tehát egy kommunikáció kezdetekor célszerű több bájtos azonosítóval kezdeni?
(#) Balagemann2031 válasza trudnai hozzászólására (») Aug 5, 2012 /
 
Szia! Már szinte kívülről tudom az adatlapot, annyit olvastam, nem is ez volt a gond, mert le van írva hogy 33pF kell, csak nekem nem volt itthon...
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Aug 6, 2012 /
 
Idézet:
„És a pickit2 uartjában hogyan lehet beállítani a paritásbitet?”
Sehogy.
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Aug 6, 2012 /
 
Köszi! Jó ez így is ha folyamatosan 0-val kezdem a küldést nem rontja el, megbízható. Nagyon tetszik ez a full duplex mód. Addig merészkedtem, hogy pic-ekből egy cpu struktúrát gondoltam ki. Amiből a kommunikáció egymással rendben is van. Az újdonság az sd kártya a számtalan külső adat tárolására és a hangmodul, ami ismeretlen. A soros kommunikáció nem terheli a pic-et, csak a feldolgozás, de amit nemtudok, hogy honnan szedi az órajelét?
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Aug 6, 2012 /
 
Utána olvasni: A formátum kötött, a jelalak felismerésével állítják elő...
(#) mrobi válasza Hp41C hozzászólására (») Aug 6, 2012 /
 
Sziasztok!
Lenne egy kérdésem. 16f628-al ismerkedek. Flowcode-ban szoftveres PWM-et meg tudtam oldani. Most assembly-ben kellene megoldanom, de ahhoz feltételre lenne szükségem ('X' nagyobb-e mind 'Y'). Ezt a feltétel hogyan tudom megvizsgálni?
(#) n_yálastrubadúr válasza mrobi hozzászólására (») Aug 6, 2012 /
 
movfw x
subwf y,w
skpnz
goto egyenlo
skpnc
goto nagyobb // y a nagyobb
goto kisebb
(#) Hp41C válasza mrobi hozzászólására (») Aug 6, 2012 /
 
(#) dannu hozzászólása Aug 8, 2012 /
 
Üdv !
Van egy simson motorom . Ehhez szeretnék építeni egy "motor pc". Egy pic re gondoltam , egy memória kártyára és pár érzékelőre. Ami mérné a fordulatszámot (a gyújtásnál kellene) , egy bicikli kilométer óra mágneses része mérné a sebességet és egy hő szenzor pl: ntc ellenállás.Valaki épített e már ilyet ? Hol találom mert nem nagyon találok róla semmit se. A pc részét meg oldanám mert visual basic nyelven kivalló programozó vagyok .
(#) ambrus hozzászólása Aug 8, 2012 /
 
A Mikroelektronik PICflash2-vel tudok programozni,
de nem tudok debuggolni.

Tudna-e valaki segíteni
ambrus@osb.hu
(#) pjg válasza dannu hozzászólására (») Aug 10, 2012 /
 
Pl itt: Link

Én is gondolkodtam ilyesmit építeni, de azután rájöttem, hogy minek. Amit a Simsonnál az ember a fülével nem hall meg az nincs is.
(#) icserny válasza ambrus hozzászólására (») Aug 10, 2012 /
 
Mi a kérdés?
(#) kezdo001 hozzászólása Aug 10, 2012 /
 
Sziasztok!

Az EP jelzés mit jelent a mikrovezérlőknél?
pl: PIC24EP?
A "C" és "F" jelzés a memória típusára utal. De az EP leírását nem találom.
(#) Hp41C válasza kezdo001 hozzászólására (») Aug 10, 2012 /
 
(#) Zsora válasza kezdo001 hozzászólására (») Aug 10, 2012 /
 
Szerintem itt már nem ilyen egyszerűek a betűjelzések. Adni kellett valami jelzést az új 24-es ill. 33-as családtagoknak.

F - kisfogyasztású, kislábszámú sorozat
FJ - közepes teljesítményű, sok perifériával felszerelt sorozat (16 MIPS)
HJ - nagy teljesítményű sorozat (H - High performance) (40 MIPS)
EP - növelt teljesítményű sorozat (E - Enhanced performance) (60, 70 MIPS)
(#) kezdo001 válasza Zsora hozzászólására (») Aug 10, 2012 /
 
Köszönöm a válaszokat!

Így mindjárt világosabbak a kifejezések.
(#) Balagemann2031 hozzászólása Aug 11, 2012 /
 
Sziasztok! Már jóideje bajlódom a bootloaderes megszakítás kezeléssel, de nem akar lefordulni, akármilyen formában próbálom beírni... Csatoltam egy kezdetleges teszt projektet, a simulátoros az működik helyesen, de a másik amiben a bootloaderes áthelyezések vannak, azt nem tudom összehozni Nagyon hálás lennék, ha tudna valaki segíteni! Üdv: Balage
(#) icserny válasza Balagemann2031 hozzászólására (») Aug 11, 2012 / 1
 
Definiálni kell az USE_INTERRUPT szimbólumot és az MPLINK számára meg kell adni a /uHID_BOOTLOADER opciót! (Úgy látom, az utóbbi már benne van a projektedben)

Definiálni kell a hi_isr és lo_isr címkével kezdő interrupt kiszolgáló eljárásokat.

A főprogramban inicializáláskor engedélyezni kell a megszakítást.
(#) n_yálastrubadúr hozzászólása Aug 12, 2012 /
 
Szép napot!

Azt lcd-re van egy programom, amivel szerkeszthetem a karaktereket. Az lcd hd44780-as szabványú és 5x8-as. A szerkesztő program a szerkesztett szimbólumomból csinál is egy kódot, de az a következő pl 1f,00,00,00,00,00,00,00 , az lenne a kérdésem ezt az értéket hogyan kell felvenni??
(#) Auf válasza n_yálastrubadúr hozzászólására (») Aug 12, 2012 /
 
Szia!

Idézet:
„A táblázat első 16 kódja, 00000000-00001111, ($00-$0F) a CGRAM-ra hivatkozik. Ez a Character Generator Random Acces Memory rövidítése. Itt tarthatod a te egyéni karakterediet.”


Ebből a cikkből

De pontosabban a folytatásban le van írva a kérdésedre a válasz.
(#) vilmosd válasza Auf hozzászólására (») Aug 12, 2012 /
 
Pontositanek: a 0x00->0x07, azonos a 0x08->0x0F tartomannyal, tehat csak 8 karaktert lehet definialni. Mellesleg a MikroE MikroC, MikroPascal... csomagjaiban talahato LCD karakter szerkeszto utility.
(#) marek hozzászólása Aug 12, 2012 /
 
Sziasztok!
Egyszer már írtam ezzel a problémával kapcsolatban a fórumba, és a kapott tanácsoknak megfelelően újra átnéztem az áramkörömet, de sajnos a probléma továbbra is fennáll. Egy 18f4550-tel kísérletezek, már megoldottam a szokásos "hello world" programot: ha USB-n jön egy karakter, azt kiírja egy LCD-re (amit két lábról vezérlek egy shift regiszterrel), és vissza is küldi a PCre. USB nélkül tudom ellenőrizni egy nyomógomb állapotát is a D porton. De ha a kettőt kombinálni próbálom, tehát ha van USB kapcsolat, akkor a nyomógombra kötött láb eléggé furcsán viselkedik. Ha multiméterrel megmérem, akkor azt látom hogy 0V-tól 5V-ig oda-vissza ingadozik a feszültség néhány másodperces periódusidővel. Így aztán eléggé használhatatlan az egész. A Vusb lábra egy WIMA kondit tettem, csak ilyet kaptam, ez lehet esetleg probléma? Csatolva beraktam a main függvényemet is. Nagyon hálás lennék ha valaki tudna segíteni ebben a dologban!

main.txt
    
(#) n_yálastrubadúr hozzászólása Aug 12, 2012 /
 
Üdv!

Már volt gondom a számított ugrással, kaptam rá megoldást, de szerintem valami nemjó. Ahogy használom az lcd-n háttérben fut halványan a multiplexálás, jólláthatóan.
  1. table
  2.     movwf    index
  3.     movlw    high(num)
  4.     movwf    PCLATH
  5.     movlw    low(num)
  6.     addwf    index,w
  7.     btfsc    STATUS,C
  8.     incf     PCLATH,f
  9.     movwf    PCL
  10. num
  11. retlw.48
  12. retlw.49
  13. retlw.50
  14. retlw.51
  15. retlw.52
  16. retlw.53
  17. retlw.54
  18. retlw.55
  19. retlw.56
  20. retlw.57
(#) mrobi válasza Hp41C hozzászólására (») Aug 12, 2012 /
 
Köszi. Ezt még fel kell dolgoznom. Nincs hozzá véletlenül leírás?
(#) n_yálastrubadúr válasza n_yálastrubadúr hozzászólására (») Aug 12, 2012 /
 
Megoldódott nem kapcsoltam ki/be az lcd-t és ahogyan újra ráírt azt láttam.
(#) Hp41C válasza mrobi hozzászólására (») Aug 12, 2012 /
 
Ott van kettővel a belinkelt előtt...
(#) Balagemann2031 válasza icserny hozzászólására (») Aug 13, 2012 /
 
Bocsánat, nem voltam gépközelben... Egyébként Az a fő problémám, hogy formailag nem tudom hogy néz ki a USE_INTERRUPT definiálása... Magába a projektbe be van csatolva a PIC18f4550.lkr és a p18F4550.inc, ebben van olyan kódrészlet ami a belépési pontokat tartalmazza, de nem tudom hogyan kell definiálni Nincs esetleg egy kezdő teszt program valakinek? Amiben a megszakítás bootloader mellett működik? Üdv! Balage
(#) icserny válasza Balagemann2031 hozzászólására (») Aug 13, 2012 / 1
 
Idézet:
„nem tudom hogy néz ki a USE_INTERRUPT definiálása...”
Pedig a p18_all.inc is tele van #define direktívákkal, onnan lehet puskázni. Nem tudom, hogy az assembler szereti-e az "üres" definíciót. Ha esetleg nem, akkor a
  1. #define USE_INTERRUPT 1

is megteszi.
Következő: »»   293 / 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