Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
És ilyen szintillesztőt hol tudok beszerezni?
Köszönöm, valószínűleg e kapcsolási rajz alapján csinálom meg.
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.)
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.
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.
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!
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?
Idézet: „Ezt a részt nem teljesen értem, hogy jönnek ki ezek a címek.” Szorozd meg a 0xf8000-t kettővel.
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.
Ü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...
Szia. Nézd meg ezt: Bővebben: Link.
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.
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.
Már megrendeltem az általad belinkelt IC egy változatát: SN74LVC4245APWR
Remélem ezzel rendben lesz minden.
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.
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.
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:
ez pedig az spi init:
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Nem lép be a megszakításba a program véletlenül, amit nem kezelsz le?
|
Bejelentkezés
Hirdetés |