Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
PIC24-es programokban (C30 fordító) találkoztam inline függvénydelkarációval, de a C18-at más fából faragták, nem szívleli el az inline kulcsszót.
A feladat jellege alapján úgy látom, hogy inline assembly makrót kellene definiálnod (végül is a Nop() is ilyen...) Lásd a p18f****.h header fájlok végén! #define Nop() {_asm nop _endasm}
Sziasztok
Lcdvel lenne egy kis problémám. Akármit csinálok nem akar beírni egy karaktert se. Teszképernyő megy. Display on, kurzor be, blink be megy. DDRAM állítgatás megy, a kurzor mozog. Olvasáskor a elhalványul, majd növeli a kurzor poziciót.(Ez is jó) Az írás viszont nem... Egyszerűen megkapja az órajelet, és abban a pillanatban mintha kiugrana a kurzor a képernyőről. Üres az egész, kész vége. Tesztkód csatolva. (Azért ilyen buta, hogy átlátható legyen) ui: amikor a proci reszetelve van, és a lábak "lebegnek" akkor összevissza ugrál az LCD, de ilynekor se ír be karaktert, csak a kurzor ugrál..... Idézet: „A pontosság nem fontos annyira (ha +-5 fok az se baj (annál azért több ne legyen).” Akkor próbáld ki így, ahogy van! Idézet: „Akkor gondolom az 5x erősítésű neminvertáló alapkapcsolást a kezdő kérdések topikba írjam?” Inkább keress rá az interneten, vagy egy elektronikai könyvben. Végszükség esetén a lentebb már említett topikban. De fölösleges kérdezgetni, megérteni úgyis neked kell (ezt senki nem tudja átvállalni tőled). Bővebben: Link Idézet: „Van ehhez az utóbbi leíráshoz hasonló ismertető az asszembler PIC programozáshoz, akár angol, vagy magyar nyelven?” Bővebben: Link Mellesleg az MPLAB dokumentációját is meglehet nézni... Idézet: „Mellesleg az MPLAB dokumentációját is meglehet nézni...” Hajjajj, de még hogy! Pláne, hogy az MPLAB-os topikba nemrég linkeltem egy magyar nyelvű, egész jó leírást.
Szerintem ilyenvalami kellene:
Igaz igaz Elöbb kérdeztem és csak utánna gondolkoztam???Akkor már csak annyi lenne a kérdésem ,hogy ha minden igaz ez így 60másodperc..
VAR: MOVLW D'255' MOVWF X MOVLW D'255' MOVWF Y IDO1: DECFSZ X GOTO IDO1 DECFSZ Y GOTO IDO1 DECFSZ Z GOTO IDO1 RETURN Ha jól számoltam...Jól számoltam?? X*Y*Z*14(a sorok száma decfsz2*) Köszi mégegyszer és bocs az értetlenségem miatt...
Szimulátorban ki tudod próbálni, az lesz a biztos. De nem írtál frekvenciát, amin a kontrollert akarod hajtani.
Hello
Mekkora az a legkisebb tápfesz, amiről még elmegy a pic16f628a? Itt konkrétan arra gondolok, hogy 3 sorbakötött ceruzaelem + 1 diódáról még eljár a proci? Illetve problémát okoz a pic működésében, ha menet közben leesik a táp 5-ről pl. 4 voltra? Üdv.
Adatlap->Electrical specifications
Ha nem hirtelen történik, hanem egy 1000µF-os kondenzátorral meg van fogva a fel és lefutás sebessége, akkor nem okoz gondot.
Szia!
Az adatlap (DS40044F.pdf) 134. oldalán látható a F és az LF verzió megengedett tápfeszültség tartománya. Szia Idézet: „Mekkora az a legkisebb tápfesz, amiről még elmegy a pic16f628a?” Az órajel frekvenciájától függ. Egyébként miért kérdezed, amikor benne van az adatlapban? Idézet: „Illetve problémát okoz a pic működésében, ha menet közben leesik a táp 5-ről pl. 4 voltra?” Ha be van kapcsolva a BOR, akkor nagyon háklis lesz érte! Tipikusan 4 V körül van a limitje... Ha a BOR ki van kapcsolva, akkor a felugrás a veszélyesebb (Power On Reset-nek érezheti).
Üdv!
Lehet, hogy már szerepelt a kérdés, de én sajnos nem találtam meg keresővel sem a nekem megfelelőt. Szóval az lenne a kérdésem, hogy PIC18F4620 vagy PIC16F87x-re lehet külső SRAM-ot kötni? Egy 23K256-I/P RAM IC-ről lenne szó.
Szia!
Az 23K256 Ram-ot a pic kontorller MSSP illesztőjével (SPI módban) lehet kezelni. A RAM 3.6V tápfszültségű, ezért a pic tápját is célszerű lenne 3.6V-ra válsztani, de 3.6V-on csak a 16LF87x(A)(<=10Mhz) ill. a 18LF4620 (<20Mhz) változat képes működni. Nagyobb megkívánt órajel frekvencia vagy más okok miatt 5V-ról működő kontroller esetén szintillesztő fokozatok kellenek a vezérlő jelekre. Kiemelném, hogy az olvasott adatjelre is kell szintillesztés, mert a pic bemenete 5.0V táp esetén csak a 4.0V -nál nagyobb szintet érzékeli magas szintnek. Szia>>
És a szintillesztést milyen IC-vel tehetem meg a elgegyszerűbben? Illetve ha sikerült illeszteni, akkor hogynan lehet megadni a PIC-nek, hogy használja is úgy, mint a sima memóriát? Tehát a célom az lenne, hogy tudjak létrehozni pl egy tömböt (CCS PIC C-t használok) a külső RAM-ban.
Szia!
Szintillesztés: pic -> ram: egyszerű feszültségosztó, ram -> pic74hc1g07 és a kimenetet a pic tápjára felhűzó ellenállás. Tömb: A külső ram eléréséhez egy beíró és egy kiolvasó eljárást kell írni, ami az MSSP felhasználásával az adatot a kívánt címre beírja ill. kiolvassa onnan az adatot. Szia
Szia!
Bocsánat, nem voltam pontos a típus megadásánál... 74HC07, 74HCT07 hatos, nem invertáló, nyitott kollektorok meghajtó. A 74AHC1G07 ugyanennek a meghajtónak az egykapus kivitele 6 lábú smd tokban... Egyébként, két inverterrel, esetleg két tranzisztorral is meg lehet csinálni). A pic és a ram közé feszültség osztó a ram SI, SCK, CS (csak akkor, ha nem állandó a kiválsztás, azaz ha több ramra van szükség) lábaihoz, meghajtó a ram SO lába és a pic SDI lába közé (felhúzó ellenállással a pic tápjához). Szia Idézet: „hogynan lehet megadni a PIC-nek, hogy használja is úgy, mint a sima memóriát?” Sehogy! A PIC18 12 bites adatcímzést használ, tehát 4096 bájtot tud megcímezni (ebbe már beleértendők a speciális funkciójú regiszterek is). Tehát ha történetesen nem SPI perifériának látná a külső memóriát, akkor sem tudna mit kezdeni vele egyben. Ha ilyen sok RAM memória kell, akkor használj dsPIC33FJ256GP710-et!
No most CCS C-ben lehet használni 16 bites int ti'pust is. Azzal már ki tudok küldeni egy ci'met a RAM-nak, nem? Mert az egész csak annyi, hogy egy 16 bites számot elküld IIC-n. Mert ha i'gy működik, akkor már valamilyen szinten lehet használni.
Idézet: „No most CCS C-ben lehet használni 16 bites int ti'pust is. Azzal már ki tudok küldeni egy ci'met a RAM-nak, nem?” Hát persze! Csak ennek már semmi köze a változótömbökhöz...
Találtam egy kapcsolási rajzot, ami illesztő IC nékül működik, mindössze egy LED-et használ korlátnak. Ez igy működhet?
Bővebben: Link
Szia!
Van benne jó néhány hiba: - a kvarc-hoz kell két kondenzátor, - a táp szűréshez 1 db 100nF nem lesz elég, - a 3.6 V-os ram nem stabil tápról jár, a tápja nincs szűrve, a rajzról leolvasva a 3.6V értéke sem jó, - a soros vonali meghajtás segéd feszültségét jobb lenne egy nem használt modemvezérlő jelről levenni (cstlakozó 4. láb), az elektrolit kondenzátor helyett, - a véleti vezetéken akár +12V és -12V is jöhet a pic RC4 lábára, a beépített védődiódára van bízva a határolás. Szia
No most én nem akarom megépiteni ezt az áramkört, csak a RAM miatt nézegettem. Az én kapcsolásomban stabil 5V-ot használok stabkockáról. Úgy már megfelelő ezek szerint?
Egyáltalán nem korlátnak használja a ledet, hanem feszültségcsökkentésre.
Működik, mert az RA0 lábon TTL bemeneti puffer van, viszont így szoftverből kell az SPI-t megoldani. Viszont nagyon gány munka, mert a bemeneti védődiódák kellene, hogy elvezessék a az áramot a lábakról, viszont mennyi áram is folyik ott be, ha CS, SCK és SI is magas? Úgy 4mA. A chip fogyasztása meg kb. 4uA készenlétben. Remélem érzed az eltérést, és hogy ez nemnagyon vezet jóra...
Az, hogy stab kocka is van a kapcsolasban meg nem jelent semmit. Kellene tudni a bemeno feszultseget, az alkatresz tipusat, hogy milyen kulso aramkori elemek vannak a stab kockara kotve stb. Igy nem lehet ramondani, hogy "Jaaa, stab kocka, akkor minden rendben van!". Latni kellene a pontos rajzot hozza.
|
Bejelentkezés
Hirdetés |