Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Például.
Mondjuk leginkább angolul tud...
Igen, ezt szeretném. Azt mondom: be, ki, állj, stb. és végrehajtja.
Egyrészt ehhez a feladathoz egy mikrokontroller olyan, mint téli hóviharban egy lepkeszellentés, másrészt a beszédfelismerés nem olyan egyszerű, hogy egy délután alatt össze lehetne dobni. Ha belátható időn belül akarsz végezni, ezt keresd (pl.): speech recognition raspberry pi.
Ugyan nem PIC, de kész modul formájában ez a legegyszerűbb. Egy PC-s szoftverrel az adott kimenet aktiválására bármilyen parancsszót eltároltathatsz vele. Alapvetően jól működik, de nekem volt olyan amikor elsőre nem ismerte fel a kimondott parancsot...
16F programba írt verzióadat RAMba nem dolgozható fel ?16F84A nál, ha a programba beírok PRG.verzió adatot, akkor azt a futtatás alatt le se tudom hívni ?PDF ben látott minimális utasításkészletből semmi nem sejtet, hogy elérhessem. 18F nél a TABLAT ot szoktam meg erre a célra.
RETLW utasításokkal lehet a ROM-ban tárolt tömböket elérni.
Ebben van rá példa a 28 (15). oldalon. Nem túl 'felhasználóbarát' módszer, de nincs más.
Köszi a választ. Nekem éppen PIC-re kell.
A videóban PIC16F946 full protect file kilocsolása.
1 fálj lesz a legvégén az eeprommal, ami előtt a flash. Mivel itt már a PK3 van megtrükközve, így a TTL-nek csak egyszerű munkája van. Mondjuk nem értettem a Chiperase miért nem használja azt a módot, amivel 1 utasítással töröl mindent. 1db 6 bites parancs képes Prg, Eep, Cfg, UserId törlésre. A csak Cfg erase CP=1 CPD=0 módban feloldja az eepromot, de ilyen protect módú chipet biztos nem találunk eszközökön. A hozzászólás módosítva: Dec 17, 2024
mi történik, ha RETLW kevesebb mint a a lehetséges PCL hozzáadása ?Mi történik, ebben az esetben ?Nézek egy PIC 18F programot melyben furcsa dolgot látok. A hivatkozott RETLW s subban 16darab RETLW van, ezt más függvény követ. kiolvas byteot, ANDLW 0xF el vág, RLNCF f=E8(=WREG) d=1 a=0, és meghívja a RETLW s subrutint. Azt furcsálom, ha 4 hasznos bitre megvágja, majd balra eltol bitet, így a bit0 biztosan 0 lesz, de a bit4 lehet akár 1 is. például 9 nél 0x12 lesz és nincs ennyi RETLW ha PCL hez adunk 0x12 t. Ilyenkor mi törénik ? Rosszul fogom fel ? Kössz
A PIC18 utasítások 16 bitesek, nemde? Ezért kell egy bittel balra tolni (azaz kettővel megszorozni) a 4 bites számot. 16 db. RETLW pont elég...
Uhhh kössz, erre nem gondoltam, hogy 2vel emelkedően kell itt.
PIC portlábak felprogramozásának összefüggései (pl. 16F153xx)A korszerű PIC-ekből én a a PIC16F1xxxx - Enhanced - család tagjait használom (ált. 153xx ill 183xx architektúrájúakat), s ezek többségében a ki/bemeneti lábakat számos módon be lehet állítani. A leírásokból azonban nem derül ki egyértelműen, hogy milyen kombinációk valósak, sőt az is kérdéses, hogy a PPS funkciók használata esetén azok mennyire illeszkednek ezen felprogramozható üzemmódokhoz?Tudomásom szerint a beállíthatóságok - némi korlátozásokkal - az alábbiak: ANSELx, TRISx, LATx, WPUx, ODCONx, SLRCONx, INLVLx ill. interrupt bemenetként az IOCxP, IOCxN. Az ANSEL még tiszta, az "mindent visz", kizárólag analóg lesz, ha arra állítjuk. Természetesen a LAT, ODCON csak kimenetként (TRIS 0) ill. a az INLVL csak bemenetként (TRIS 1) hatásos. Ám mi van a WPU-val bemenet esetén, vagy ha sima TTL kimenetről van szó? Akkor is rákapcsolódik egy felhúzó ellenállás? Vagy az SLRCON - ami mintha egy kondit csatlakoztatna a kimenetre - működik-e bemenet esetén (pláne van értelme ha SmithTriggerre állítjuk)? Szintén kérdéses, hogy ha egy lábat egy I/O kimenethez, vagy bemenethez rendelünk PPS-sel, akkor az a hozzárendelés hogyan szüntethető meg, ha csak sima PORT-ként akarjuk aztán használni? Ha pedig egy láb a belső I/O valamelyikéhez kapcsolódik PPS-sel, akkor (kimenetként) beállítható-e az ODCON, és/vagy a WPU? Idézet: Nem.„Ám mi van a WPU-val bemenet esetén, vagy ha sima TTL kimenetről van szó? Akkor is rákapcsolódik egy felhúzó ellenállás?” Idézet: Nem, csak kimenetre állított láb esetén van hatása.„Vagy az SLRCON - ami mintha egy kondit csatlakoztatna a kimenetre - működik-e bemenet esetén (pláne van értelme ha SmithTriggerre állítjuk)?” Idézet: Pl.„Szintén kérdéses, hogy ha egy lábat egy I/O kimenethez, vagy bemenethez rendelünk PPS-sel, akkor az a hozzárendelés hogyan szüntethető meg, ha csak sima PORT-ként akarjuk aztán használni?” RA0PPS=0; RB7PPS=0; Ilyenkor a kimenetet a megfelelő LAT regiszter vezérli. Ha perifériához rendlesz egy bemenetet (pl. Interrupt 0), akkor vagy a megszakítást tiltod le, vagy másik bemenetet választasz az adott perifériának. Ettől függetlenül digitális bemenet esetén a PORT regiszter olvasható és megfelelő értéket fog visszaadni. Idézet: Digitális kimenet esetén az ODCON és a WPU tetszőleges kombinációban használható. „Ha pedig egy láb a belső I/O valamelyikéhez kapcsolódik PPS-sel, akkor (kimenetként) beállítható-e az ODCON, és/vagy a WPU?”
Elnézést, összekevertem. A WPU-nak csak bemenet esetén van hatása, nyitott kollektoros kimenet esetén (ODCON) nincs, a felhúzást kívülről kell megoldani.
Köszi! Ezek mind, egytől egyik nagyon hasznosak voltak!
|
Bejelentkezés
Hirdetés |