Fórum témák
» Több friss téma |
Szia
Kipróbáltam másikkal is, és ugyanaz PIC18458-al (ez volt otthon) egy egyszerű villogó programját akarom beírni, és a következő hibaüzenetet írja ki (melléklet). Mivel abszolút kezdő vagyok, először azt a célt tűztem ki magam elé, hogy programot tudjak beírni majd visszaolvasni, de még mindig nem tudom, hogy a printer portom alkalmas-e erre. Még ma kipróbálom másik számítógépen. üdv
Mutass egy olyan képet, ahol a PIC-et felismeri! Biztosan felismeri a sárga kérdőjeles IC ikon megnyomása után? A program be van állítva? Arról is csatolj egy képet!
szia
fejlemények vannak! mindjárt visszaírok
szia
orbitális gixer volt, a PGC előtét ellenállása (270 ohm) hibás volt, én még ilyet nem láttam , semmi külsérelmi nyom, akkor lett gyanús amikor elkezdtem tesztelni a fesz értékeket a PGD 4,7 V, a PGC meg nulla úgyhogy az egyik probléma megoldva. viszont van egy olyan gond, hogy a kis ikon-ra kattintva felismeri a 18f-t . Elindítom az írást, az is lefut, visszaellenőrzöm, stimmel, és később leellenőrzöm akkor meg totál hülyeségeket olvas ki (ilyenkor nem is ismeri föl a 18f-t sem) ha újra indítom akkor viszont jó. Ez a bizonytalanság az adatkábel hibája lehet? lehet, hogy árnyékolt és még rövidebb vezetéket kellene berakni (a mostani kb 20 cm) a 100 nanos kondit közvetlen az ic lábára tettem. üdv
Miért hagytál fel a jó szokásoddal, hogy rendesen írj? Én nem állok szóba olyanokkal, akik kisbetűvel kezdik a mondatot és nem használnak írásjeleket. Én csak ennyit kérek cserébe!
Szia
Elnézést a helyesírási hibákért, kicsit kapkodva írtam (munkaidőbe voltam ) Most ott tartok, hogy összeraktam a 8 ledes villogó áramkört, ami persze még nem működik, szerintem az eltérő kristály értékben lesz a hiba (20Mhz-s van), de ez a probléma holnapra marad. Üdv.
Javaslom használd a WPB-t! Épp most írtam a PIC miértek-be, hogy miért!
Szia
Elolvastam, akkor ezzel az égetővel nem fog összejönni a 18f? Pedig örültem, mert vissza is tudta olvasni a kódot, és átnéztem, nem tévesztett. Lehet, hogy egyszerűbb ic-vel kellett volna kezdenem, de ez volt kéznél. Túl gyorsan akartam előrre lépni, valószínűleg pár hetet rá kell szánnom az olvasásra. A WPB_F18 programot letöltöttem, de nem működik, pedig minden fájlt bemásoltam a system32 könyvtárba. esetleg van tipped mi lehet a gubanc? ezt a hibaüzenetet adja ki (melléklet). üdv
Azért ajánlottam a WPB_F18-at, mert mint írtam, az ezzel működő égetők pl. a WinPIC800-al, vagy az IC Prog-al nem működtek.
Nem a PIC tehet erről, más PIC-ek se mennek, ha ez nem! Másold vissza az io.dll-t a könyvtárba is(azt írtam volna, hogy azt le kell törölni a könyvtárból?). Az ocx-eket is! Inditsd újra a PC-t!
Szia
"Másold vissza az io.dll-t a könyvtárba is(azt írtam volna, hogy azt le kell törölni a könyvtárból?). Az ocx-eket is! Inditsd újra a PC-t!" Ezt is kipróbáltam már, és mégsem megy, de a gépembe van a hiba, mert másik számítógépen meg fut, úgyhogy : üdv
Üdv!
Megnézné valaki, hogy mit rontottam el a mellékelt kódban? Egy BC1602A tipusú lcd-t szeretnék szóra bírni de sehogy nem sikerül az inicializálás. Az adatlapja alapján csináltam a kódot de valamit nagyon elszúrtam és nem találom a hibát.
Kódot még nem analizáltam, de a kontraszt be van állítva?
Üdv!
Igen be van, másfajta hex fájllal működik.
Annyi, hogy egy múködő programmal lett beállitva, és igy biztosan jól van beállítva.
OK! Belenéztem a kódba, az LCD inicializálás 4 bites módba történik, de szerintem nem úgy, ahogy kellene. Mellékelek egy leírást. Ellenőrizd!
Sziasztok
Winpic800 -> Opciók ablak, erről kellene nekem valami leírás, mert rákerestem és semmit nem találtam. Az osc részt értem, de a többit nem. Mik ezek a beállítások? Lehet, hogy azért nem találtam semmit mert nem is lényeges? Összeraktam a cikkben található 8 ledes villogót, ami nem működik, teljesen elakadtam. üdv
Hogyne lenne lényeges! Az adott PIC konfigurációs bitjeit lehet beállítani, annak leírása pedig a PIC adatlapjában van.
Erősen ajánlott a kód elején elhelyezni a beállításokat ("__config","#fuses","#pragma config" stb.) és nem kézzel állítgatni. Ha a kódban benne van, akkor a hex betöltésekor itt annak megfeleően jelenik meg a beállítás és nem kell rajta módosítani semmit.
Szia!
A Delay szubrutinok hibásak! A 100 us-os késleltetésnél a * , /, -, (, ) operátoroknak semmi értelme, ezeket a direktíváknál lehet csak használni. Bővebb leírást az MPASM Assembler Help tárgymutatójában találsz a "Symbols, In Expressions" címszó alatt. Ha valaminek az értékét 1- gyel szeretnéd csökkenteni, akkor használd a decf vagy decfsz esetleg a sublw, subwf utasításokat. Egyébként a neten rengeteg assembly nyelven íródott LCD kezelő program van, keress rá. Üdv.
Szia
Ha más PIC tipust használok (18F458) akkor ezeket a konfigurációs biteket át kell állírtani (ha az órajel nem változik) ? Erről a kapcsolásról lenne szó üdv
A delay szubrutin szimulátorban helyes időzítéssel futott le (Picsimulátoride proramban).
Pont ez a bajom, hogy sok program van és némelyik működik pedig messziről sem hasonlít az lcd adatlapjában leírtakhoz. Ezért szeretnék saját kezelőprogramot írni, hogy értsem is miért működik.
Vannak hasonlóságok, és lehetnek eltérések. Mindig a kérdéses PIC-nek megfelelően kell beállítani mindent! Természetesen!
Szia
Írtad a pic - miértek, hogyanok-ba: "Tanulni szerintem is a 18F jobb, mert egyszerűbb. Utána jöhet a 16F-el való kínlódás, mert addigra legalább van egy kis rutin." Lehet, hogy ez nálam fordítva van. Az most már világos, hogy egy 16F részére befordított hex file-al nem működik a 18F PIC, és az ASM file-t kellene átkonfigurálnom. Most jelenleg az MPLAB a következő hibát találja: Idézet: „Make: The target "E:\---------Elektro\PIC\main.o" is out of date. Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F458 "main.asm" /l"main.lst" /e"main.err" /o"main.o" /d__DEBUG=1 /c- Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_XT_OSC) Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_CP_OFF) Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_WDT_OFF) Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_LVP_OFF) Warning[230] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG. Error[126] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Argument out of range (not a valid config register address) Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 13 : Symbol not previously defined (RP0) Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 21 : Symbol not previously defined (RP0) Halting build on first failure as requested. ” Tehát már az oscillátor konfigurálásánál elakad! Próbáltam már sima "XT"-vel, de ugyanaz, az adatlapja nem tér ki az asm-re. Olvastam egyik MPLAB-os topicban, hogy meg kell nyitni Headre-file-ként a pic-hez tartozó INC fájlt, de ez sem hozott eredményt. Mi lehet a megoldás? üdv
Szia,
egyik fajta megoldásnak azt tudom javasolni, hogy megnyitod a kérdéses PIC .inc kiterjesztésű file -ját, és megnézed a lejjebb található "configuration bits" -eknél, hogy valóban létezik -e ilyen szimbólum, amit te fel akarsz használni.
Idézet: „Lehet, hogy ez nálam fordítva van.” Nem csak nálad. A legtöbben azt hiszik, hogy az F18 nehezebb, mert nagyobb a szám! A megoldás a konfigra az lenne, hogy a megfelelő PIC-et választod ki a projectben és a megfelelő symbol-okat használod. Itt egy példa a configra. Az adatlap alapján lehet megnézni melyik bit mire való.
Ha ezeket beállítod(persze úgy, ahogy neked kell!), akkor még egy csomó eltérés lesz(portok, symbol nevek, perifériák eltérései) amit csak gyakorlott programozó tud megoldani szerintem.
A fejlécbe írtakat most már elfogadja, bár még mindig nem nagyon tetszik neki:
"Warning[230] E:\---------ELEKTRO\PIC\MAIN.ASM 6 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG. " Mire gondolhat vajon ezzel a "directive config"-al? Úgy tűnik Itt se született megoldás Néztem a 18F architektúráját és nincs is benne STATUS regiszter , a bank1 re való átlépés is egészen másképp van, úgyhogy azt hiszem még 1-2 hétig nem fog villogni ez a 8 ledes. Mindenesetre köszönöm a gyors válaszokat.
A "Warning" csak figyelmeztetés, első körben ne izgasd vele magad!
Az MPLAB telepítési könyvtárában érdemes szétnézni, az MPASM Suite/Template/Code könyvtérban van miden PIC-hez egy minta keretprogram. Abból például kiderül az is, hogy a konfigurálás javasolt formája:
Persze, LP helyett írj mást, azt, ami kell!
Nem izgatom miatta magam
Annál jobban árdekel, hogy " BCF STATUS,RP1 BSF STATUS,RP0 ;BANK1-be átlépünk ;PORTA Digitális I/O-vá tétel " helyett (bankváltáskor) mit kellene írni, mert ez viszont error üdv
Bankváltáshoz a Bank Select Register-t (BSR) kell használni. Már ha szükség van rá...
STATUS regiszter egyébként van, csak RP1 meg RP0 bitje nincsen, mivel a bankváltás a fent említett BSR regiszterhez került át. Át kell tanulmányozni az adatlapot, mert abból kiderül, hogy PIC18-nál a speciális funkciójú regiszterek az Access RAM címtartományába esnek, így a PIC16-hoz képest egyszerűsödik az elérésük (nem kell slalomozni a bankok között).
Idézet: „Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 13 : Symbol not previously defined (RP0)” Ha erre gondolsz, akkor ebből az derül ki, hogy nem ismeri fel definiált szimbólumként az RP0-t. Vagy mert nem így hívják az adott PIC include-jában, vagy mert nem is töltötte be valamiért az include-ot. Elérési utak, ilyesmi lehet a gond. |
Bejelentkezés
Hirdetés |