Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1080 / 1320
(#) beigli767 válasza _vl_ hozzászólására (») Jún 24, 2012 /
 
És ilyen szintillesztőt hol tudok beszerezni?
(#) beigli767 válasza (Felhasználó 15355) hozzászólására (») Jún 24, 2012 /
 
Köszönöm, valószínűleg e kapcsolási rajz alapján csinálom meg.
(#) Zsora válasza beigli767 hozzászólására (») Jún 24, 2012 /
 
Szintillesztés egyszerűen:
1. megoldás: Az LCD lábait egy megfelelő ellenállással 5V-ra húzod, és a PIC nyitottnyelős (5V-ot tűrő)kimenetével húzod földre/testre.
2. megoldás: Szintén felhúzóellenállást használsz, és azt egy külső tranzisztorral húzod le földre. Ekkor nem kell nyitottnyelős és 5V-tűrő kimenet.
3. megoldás: Szintén felhúzóellenállás, és ezután a PIC felé néző dióda, ami így az alacsony kimeneti szintjével kb. 0,7V-ra rántja le az LCD bemenetét. Ez már alacsony szint. (Itt sem kell "speciális" kimenet.)
(#) Zsora válasza beigli767 hozzászólására (») Jún 24, 2012 /
 
Még annyi, hogy ezek csak egyirányú (PIC->LCD) kommunikációra alkalmasak, de ez itt nem gond.
Az LCD állapotát úgysem szükséges olvasni, ha megfelelő időzítést használsz, tehát az R/_W lábat fixen földre kötöd, és csak írod az LCD-t.
(#) _vl_ válasza beigli767 hozzászólására (») Jún 24, 2012 /
 
RET. Nettó 111 ft...
Amúgy az LCD-dhez - ha nem akarsz BUSY bitet vagy memóriát olvasni - megfelel kismillió egyszerűbb verzió is, ahogy mások már megírták, főleg, mivel BUSY bit nélkül max. kHz-es jeleid lesznek.
Amiért beírtam, mert őszintén meglepett, hogy ilyen cuccokat lehet emberi áron Magyarországon kiskerben venni, és egyes esetekben (pl. nagyobb sebesség kell, kell mindkét irány) jól jöhet, ha az ember tud róla, hogy elérhető ilyesmi is.
(#) cpumaster válasza Hp41C hozzászólására (») Jún 24, 2012 /
 
Helló!
Annyi nem tiszta még az editorban, hogy van egy CfgAddr sor. Ide ha azt írom, hogy 0x001F0000 akkor a 2.61es PK2 progiban a Config adress F8000-től megy. Ez jó is, mert amikor az editorban F8000 lett megadva akkor a progiban valami 7C000 körül indultak a config word-ök. Ezt a részt nem teljesen értem, hogy jönnek ki ezek a címek. Most ami a problémám, hogy a config word-ök össze vissza vannak. Csatoltam pár képet a jelen állásról. Az lenne a kérdésem, hogy lehet felcserélni ezeket? Pl az FBS most F80006-on van F80000 lenne a jó. Valamelyik configos scriptet kellene átírni? Illetve én az adtam meg a config words sorban, hogy 7. Ez jó így? Illetve látszik, hogy kettesével vannak a címek és nem megy E-ig csak C-ig.

24F16KL402 adatlap

24F16KL402 programozás leírás

Köszi!
(#) cpumaster válasza cpumaster hozzászólására (») Jún 24, 2012 /
 
Vagy ezekkel ne foglalkozzak? A config wordot a megírt programban beállítom, ott már végül is definiálva van a header-ben, hogy milyen címre kell és kész? A fontosabb dolgokat elég lenne átírni az editorban? Pl ilyen memória méret és kezdőcím és a többit hagyni?
(#) _vl_ válasza cpumaster hozzászólására (») Jún 24, 2012 /
 
Idézet:
„Ezt a részt nem teljesen értem, hogy jönnek ki ezek a címek.”

Szorozd meg a 0xf8000-t kettővel.
(#) cpumaster válasza _vl_ hozzászólására (») Jún 25, 2012 /
 
Köszi. Azt nem tudod véletlen, hogyan tudom állítani az egyes konfig szavak címeit külön? A sorrendjük nem stimmel mint említettem korábban.
(#) dollerakos hozzászólása Jún 25, 2012 /
 
Üdvözletem!

Eddigi elektronikai tevékenységeim során csak analóg áramkörökkel foglalkoztam (illetve néhány, programozást nem igénylő, egyszerűbb digitális áramkörrel is volr már dolgom), de most szeretnék a digitális-programozós világgal is ismerkedni. A kérdésem az lenne, hogy ezt miként tegyem, sokan azt javasolják, hogy tanuljak meg C-ben programozni. (Valami egészen érintőleges módon még a Kandón volt szerencsém hozzá, de már szinte semmire nem emlékszem.) Mit és honnan érdemes letölteni a gépemre, hogy ebben elindulhatnék? Valamint esetleg lenne valaki, akit/akiket kérdezgethetnék, ha elakadnék. (Sajnos, tanfolyamra nem tudok eljárogatni a két állásom mellett és nem tudom, létezik-e ebből jó, hatékony tanfolyam; sok jót nem hallottam ezekről.) A segítségeket előre is köszönöm...
(#) mrobi válasza dollerakos hozzászólására (») Jún 25, 2012 /
 
Szia. Nézd meg ezt: Bővebben: Link.
(#) vilmosd válasza dollerakos hozzászólására (») Jún 25, 2012 /
 
Szerintem (persze majd masok mast mondanak) Kezdjel el egy 16F sorozatu eszkozzel megismerkedni. A C nyelv indulashoz nem ajanlott nagyon. Az ASM nem egy olyan ordongos dolog, viszont ASM programozassal jobban megismered a uC belso felepiteset, alkalmazasit. Segitseg gyanant egy kis dokumentacio, mintapeldak, valamint demopanelek. A demopanelek kozul pl a 20 labasba bele lehet tenni 8, 14 es 20 labas PIC kontrollereket. Pl 12F683 8 labas, 16F684 14 labas, es 16F690 20 labas. Ja termeszetesen be kell szerezni, vagy csinalni kell egy PIC egetot. Tipikusan USB-s eszkozt jobb keresni. Ilyen pl a PicKit2, amit a CHPCD arul, de itt a forumon talalsz rola epitesi leirast.
(#) beigli767 válasza Zsora hozzászólására (») Jún 26, 2012 /
 
Köszönöm az ötleteket. Végül abban maradtam, hogy megrendeltem egy szintillesztő ic-t. Ennek a legfőbb oka, hogy ezidáig nem néztem rá a fórumra, mert nem volt lehetőségem. Amúgy 4 bites üzemmódban és fix időzítéssel lesz megoldva szóval az r/w lábat amúgy se terveztem bekötni.
(#) beigli767 válasza _vl_ hozzászólására (») Jún 26, 2012 /
 
Már megrendeltem az általad belinkelt IC egy változatát: SN74LVC4245APWR
Remélem ezzel rendben lesz minden.
(#) oxygen hozzászólása Jún 27, 2012 /
 
Sziasztok

18f4620 rev.A5-tel adódott egy kis problémám, találkoztatok-e már ilyesmivel: SPI-n szeretnék 3 bájtot folyamatosan küldeni, a program nagyjából és erősen egyszerűsítve, a pic a master (elnézést a "kódért" de nincs nálam a pendriveom):

cs alacsony
0x01-et kiküldöm
0x02-t kiküldöm
0x03-at kiküldöm
cs magas

Proteus szimulátora hibátlanul végrehajtja, MPLAB sim is, MPLAB pickit2-vel debug módban szintén hibátlanul megy, logikai analizátoron gyönyörűen látszik minden, viszont ha rendesen beégetem a picbe (release módban fordítva) akkor csak a 0x01 megy ki, és a cs-t magasba állítja a pic a 3. óraciklus után. A program többi része (kijelző, encoder, egyebek) viszont hibátlanul működik.
(#) szilva válasza oxygen hozzászólására (») Jún 27, 2012 /
 
Kár, hogy nincs itt a kód, mert az pont fontos lenne, hogy hogyan állapítod meg az SPI busz foglalt/szabad állapotát.
(#) _vl_ válasza oxygen hozzászólására (») Jún 27, 2012 /
 
Az input oldalt ugye üríted...?
(#) oxygen válasza _vl_ hozzászólására (») Jún 27, 2012 /
 
Sziasztok

Ez egy régebbi kód, azóta került bele pár nop, mert az egyik errataban olvastam, hogy az olvasás és az írás között kell 10Tcy szünet. Nem túl elegáns megoldás, de egyelőre csak debugolok:

  1. dsp_init:
  2. bcf DSP_CS
  3. movlw 0x01
  4. movwf SSPBUF
  5. loop1:
  6. movf SSPSTAT, W
  7. btfss WREG, BF
  8. bra loop1
  9. movff SSPBUF, buffer
  10. movlw 0x02
  11. movwf SSPBUF
  12. loop2:
  13. btfss SSPSTAT, BF
  14. bra loop2
  15. movff SSPBUF, buffer+1
  16. movlw 0x03
  17. movwf SSPBUF
  18. loop3:
  19. btfss SSPSTAT, BF
  20. bra loop3
  21. movff SSPBUF, buffer+2
  22. bsf DSP_CS
  23. calll cd_delay5ms
  24. goto dsp_init


ez pedig az spi init:

  1. clrf SSPSTAT
  2. movlw 0x80
  3. movwf SSPSTAT
  4. clrf SSPCON1
  5. movlw 0x32
  6. movwf SSPCON1
  7. return
(#) szilva válasza oxygen hozzászólására (») Jún 27, 2012 /
 
A loop1-nél még megcsináltad, amit az errata-ban láttam, hogy ne közvetlenül az SSPSTAT,BF flaget figyeld, a másik két loop-nál már nem. Érdekes lenne még esetleg a write collision biteket eltenned valahova a byteok kiírása előtt, hátha abból kiderülne még valami.
(#) oxygen válasza szilva hozzászólására (») Jún 27, 2012 /
 
Azóta javítottam már, de úgy sem volt jó. A write collision bitet elteszem valahová és figyelem, bár ebből volt egy olyan próbálkozásom is, hogy simán töröltem a bitet, viszont ami továbbra is érdekes, hogy debugnál hibátlanul fut az egész. Ha haza érek azért kipróbálom más mikrovezérlővel is hátha.
(#) Hp41C válasza oxygen hozzászólására (») Jún 27, 2012 /
 
Szia!

Idézet:
„To avoid lost data in Master mode, a read of the SSPBUF must be performed to clear the Buffer Full (BF) detect bit (SSPSTAT<0>) between each transmission.”


Az első adatnál is ki kell olvasni az SSPBUF regisztert - ez törli a BF jelzőbitet
(#) oxygen válasza Hp41C hozzászólására (») Jún 27, 2012 /
 
Szia

Minden írás után csinálok egy olvasást is, mert a bejövő adat is kell. Az első adatnál a 9. sor a mellékelt forrásban, bár azóta lecseréltem az egyik errata-ban látott movf SSPBUF, W és movwf buffer párosra.
(#) Hp41C válasza oxygen hozzászólására (») Jún 27, 2012 /
 
A 3. - 4. sor elé gondoltam...
(#) oxygen válasza Hp41C hozzászólására (») Jún 27, 2012 /
 
Ott nem, de a példaprogramokban sem láttam, hogy kellene, minden esetre kipróbálom, bár a BF bit írás előtt 0.
(#) kameleon2 válasza beigli767 hozzászólására (») Jún 27, 2012 /
 
Ez az én megvalósított projektem Ha fűtésautomatizáláshoz használom - csak ráteszek egy "buta" csőtermosztátot, vagy termosztátot, aminek digitális (száraz kontaktus) a kimenete, és a modulról vezérelgetem a szelepeket. Nyílt text alapú a szoftvere, jól kommentezhető, és csere-berélhető lesz az oldalon..... Ha kell Ipad és Android 4 alól is látod.
(#) oxygen válasza oxygen hozzászólására (») Jún 27, 2012 /
 
Sziasztok

Hirtelen felindulásból kapott egy 18f4520-at, ezzel hibátlan, szóval ezen fejlesztek tovább, és ha lesz kedvem majd kiderítem miért nem működik rendesen a 4620-ason, hátha másnak is hasznos az info.
(#) szilva válasza oxygen hozzászólására (») Jún 27, 2012 /
 
A 4520 milyen revíziójú? Én most 2520-on kalapálom az SD kártyás mütyürömet, és nem találkoztam olyan jellegű SPI anomáliával, amit írtál. Az én 2520-am 0x07-et mond magáról revízónak, az talán rev.B4 a MC nyelvjárásában.
(#) oxygen válasza szilva hozzászólására (») Jún 27, 2012 /
 
Szia

A 4520 0x06 revíziójú, a 4620 viszont 0x07 vagyis B5, nem a5 ahogy reggel írtam. Minden esetre érdekes, hogy debugnál hibátlan volt a 4620 futás közben meg nem. No majd még vallatom.
(#) oxygen válasza szilva hozzászólására (») Jún 28, 2012 /
 
Azt elfelejtettem hozzáírni, hogy ugyanez a 4620-as flash programozóként hibátlan, ott gyakorlatilag a nand flash tartalmát írom ki egy sd kártyára, illetve a kártyáról írom a flasht, persze raw módban mindenféle filerendszer nélkül és ott hibátlan az spi.
(#) watt válasza oxygen hozzászólására (») Jún 28, 2012 /
 
Nem lép be a megszakításba a program véletlenül, amit nem kezelsz le?
Következő: »»   1080 / 1320
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