Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem szeretnek en lenni az illetekes mumus, de ha lusta vagy tagoltan es szepen irni, raadasul lusta vagy oda irni a jelenseget es a hiba uzenetet, akkor en miert ne legyek lusta valaszolni?
[OFF]Eleg egy felkialtojel, space mindig az irasjel moge kell keruljon, mondat nagybetuvel kezdodik, lehetoleg kerulni az SMS roviditeseket, "effele" ket F-el... Gyakori helyesirasi hibak
Programming...
The following memory regions failed to program correctly: Program Memory Address: 00000000 Expected Value: 00000002 Received Value: 000000ff Programming failed. Ezt a hibaüzit kaptam. A progamozó alapból működik 16os pic et írtam vele! Nagybetüvel kezdtem a mondatot!
Köszi ez is egy jó gondolás, végülis 3 szál adatvezetek nem a világ vége!
Sajnos nem talalkoztam meg a problemaval szemelyesen, de most gyorsan rakerestem, es ugy tunik letezik problema. MPLAB 8.43 alatt van a hiba, de allitolag ha vissza mesz 8.40-re, akkor mukodik.
Tudni kell, hogy a PicKit3-nal minden egyes PIC tipushoz egyesevel toltodik le a programozoba a megfelelo firmware. Tehat ha hirtelen masik chip-et hasznalsz, akkor uj firmware-t tolt le a PicKit3 szamara. Ez jo egyreszt, mert konnyu a programozo tudasat boviteni ill. javitani, masreszrol rossz, mert akkor minden alkalommal mikor masik chip-et valasztasz ki ujra kell firkalnia a PicKit3-at. Amiert mondom, hogy ne csodalkozz, hogy MPLAB csere-bere esetleg valoban segithet a probleman.
Azt írják, hogy a hiba a PIC18F45K20.dev állományban van (egy elírás), s elég ezt kicserélni az MPLAB 8.40-ben levőre.
Bővebben: Link
Akkor mostmár te is érzed, hogy miért mondjuk mindig azt a kondenzátort.
Szeretném a PIC EEPROM-ját használni... Az EECON1 regiszter CFGS bitje, illetve az EECON2 regiszter mire való?
Az adatlapokban példák is vannak az EEPROM használatáról, azt nézted már? Abból kiderülhet mire való egy-egy bit. Aztán van ezekről a regiszterekről külön magyarázat is. Ha valamelyiket nem érted, azt kérdezd, mert így több oldalas válasz kerekedhet(bár van aki nem sajnálja az idejét, én nem látom értelmét leírni ami már le van.)
A CFGS vezérlőbit azt jelzi, amikor 1-be van állítva, hogy a hozzáférés a konfigurációs bitekhez történik.
Ha CFGS=0 akkor pedig EEPGD tartalmától függően a program flash vagy az adat EEPROM memóriát használjuk EECON2 nem fizikai regiszter. Íráskor (EEPROM WRITE) ide kell küldeni az 55 és AA szekvenciát (letiltott interrupt mellett).
Köszönöm a segítséget!
Remélem bejön /az mplab csere után/. Eddig egy problémám volt a 8.43-as használata során az, hogy a ccs compiler nem működött felraktam egy régebbit és azzal már ment a szekér! Azért köszi!
Köszönöm!
Watt! Néztem az adatlapot, természetesen a regiszterek saját külön magyarázatát is sőt, a neten is keresgéltem de a CFGS bit és az EECON2 regiszter feladata így sem volt egyértelmű.
A PIC programozásakor az EEPROM memóriát nem lehet írni, hogy legyen valami kezdőértéke annak a változónak amire szükségem van?
Idézet: „A PIC programozásakor az EEPROM memóriát nem lehet írni?” DE igen, a DE direktívával. PIC18 Application Example - de
Hűűű ezt nem értem.
Hova írom azt, hogy az EEPROM melyik bájtjába akarok írni és hova azt, hogy mit?
Lehetőség van az MPLAB- ban, valamint a PicKit 2 saját szoftverében is az EEPROM memória kézi beállítására. Pl. a saját szoftverében van egy EEPROM Data nevű szekció alul a főablakban, ha kipipálod az Enabled check boxot, akkor azokat az adatokat fogja beprogramozni az EEPROMba. MPLAB esetében a user's guide tartalmazza a választ, az EEPROM WINDOW (13.8) fejezetében.
ORG után írod a kezdőcímet
DE után az adato(ka)t, amelyeket sorra lepakol, a megadott címtől kezdődően.
Ja értem, tehát az általad idézett kódban egymás után nyolc bájtot tölt fel az EEPROM-ban, egymás után a "P", aztán az "I", majd a "C" ASCII kódját és így tovább. Igaz?
Van egy kis problémám.
PIC18F-el mérek feszültséget, de a sok zavarjel miatt nagyon ugrál a mért érték. A pic programban van átlagoló funkció, 50-es tömböt átlagol, de még így is ugrál. Hogy tudnám megoldani analóg módon az átlagolást, pufferkondi, vagy aluláteresztő szűrő vagy egyéb? Köcce
Integráló tag, külső referenciaforrás, a föld megfelelő huzalozása...
Szia!
Az A/D csatorna kiválasztása után kivárod a megfelelő időt? A számításnál nem lép fel túl/alulcsordulás? sZIA
Van két A/D lába a PIC-nek amire lehet külső referenciaforrást kapcsolni.
Az mintavételi idő szerintem jó, mert "labor" körülmények között állandó feszültség mellett +/-1 osztást változott a mérési eredmény.
Most hogy élesbe kipróbáltam a dolgot +/- 50 osztást is változik.
Az AD ref. nekem most a VSS és VDD.
Még nem világos, hogy miért pontosabb valami ha külső referenciát használok, de a leírásban majd megnézem. Köszi
Az MPLAB-ból tudom már írni a PIC EEPROM-ját, de a PIC maga nem! Van ez a kis kódrészlet:
Az EEPROM_írás szubrutin pedig így néz ki:
De nem írja be az új értéket az EEPROM-ba. :no: Miért nem? Szerintem jónak kellene lennie, ezt a kódot az adatlapból másoltam és csak alig írtam át benne valamit.
A WR bitet kell vizsgálni ahhoz, hogy lásd, befejeződött-e az írás, nem az RD-t. Na meg rémlik valami Errata is ezzel kapcsolatban, nézz bele a chip verzió Errata lapjába is, ha a WR-el sem működik.
Az ilyen "új_beállított_hőmérséklet" tipusú változóneveket mellőzd. Csak az angol ABC betűi legyenek, számok és aláhúzásjel. |
Bejelentkezés
Hirdetés |