Fórum témák
» Több friss téma |
Szia!
A kontrollert az egyik PNP tarnzisztort bekapcsolva, a +13V -ot a Vpp lábra kapcsolva viszi az áramkör programozási módba. A Vpp lábat illik valahova húzni egy ellenállással, hogy a felhalmozódott töltés valamerre távozni tudjon. Ha az programozó nem képes a nyomkövetésre, akkor célszerűbb a Vss -re kötni az ellenállást. Erre a feladatra be van épíítve a kapcsolásba a kapcsolt Vpp jelekre két piros led.
Én ugy emlékszem "olvastam valahol"mielőtt a VPP-t megkapná be kell lépnie programozási módba a pic-nek, elképzelhető hogy rosszul emlékszem, vagy félre értelmeztem?
A Vpp-vel lép be nagyfeszültségű programozási módba.
Üdv!
Nem értem hogy mit nem értesz. ![]() A példádban egy 32b/16b=32b osztást hoztál fel, ami - mint írtam előzőleg - bővítéssel megvalósítható a DIV utasítás használatával is. Ott nem használható a DIV, ahol az osztó is 32 (vagy több) bites: pl. 32b/32b=32b. Mégegyszer: A DIV utasítást 16-bites (egész) számokkal való osztásra tervezték, mivel a PIC24 (dsPIC) is 16-bites. Erre a célra pedig tökéletesen használható, és sokkal gyorsabb, mint egy saját készítésű eljárás. Használjuk hát egészséggel! (Remélem azért nincs harag amiatt, hogy a nézeteink nem teljesen egyeznek!)
Tehát a 32b/16b=32b formájú osztáshoz nem kell saját iterációs (ismétlődős) eljárás, mert egyszerűen bővíthető a DIV utasítás. (A korábbi példádnál maradva: Nem akad a PIC24 torkán a falat.)
Szia!
Teljes a félreértés... Egy általános, minden esetben működő osztó rutint keresett promax. Felhívtam a figyelmét, hogy a 24F -en levő div utasítás nem mindenható hányadost fele olyan hosszan kezelik, mint az osztót. Rengeteg példa van, amit egy div utasítással nem lehet végrehajtani. A példa azt szemléltette volna, hogy ha betartom a művelet kiinduló számábrázolási előírásait, attól még a hányados lehet hosszabb, mint az osztandó fele. Köszönöm, megy a matematika, még 8 bitesen is... A te példád egy konkrét számítás elvégzése, kihasználva, hogy az osztó csak 8 bites. Erre valóban jó a speciális műveletsorozatod. A fordító programok mégsem a div utasítással készítenek kódot. Pontosan azért, mert előre nem tudják, hogy az osztó nem lesz kicsi. Még a (long) a / (int)b sem használ div utasítást... Azt írtam, hogy a sokszor idézett oldalon található iteráló, léptetős osztás alapján elő lehet állítani a 16 bitesre is az általánosan használható osztó rutint. Pont ezt csinálják a fordítók is. Vége...
A példámról annyit hogy:
Nem használja ki hogy az osztó csak 8-bites, mert ez egy teljesen általános rutin. Nem speciális. Bármekkora 16-bites szám lehet az osztó, ill. bármekkora 32-bites szám lehet az osztandó. Az eredmény pedig 32-bites lesz, és sosem okoz túlcsordulást. Jelenlegi formájában csak előjel nélküli osztásra jó, de semmiből sem telik kibővíten előjeles számokhoz.
Szia!
Programozd be ezt, kivettem belőle az OSCCAL kezelését (a call 0x3FF // movwf OSCCAL -t). Így még az sem probléma, ha hibás az az adat...
Üdv!
Oh köszönöm, ha lesz időm megpróbálom. A programozóba rakjak 10k ohm os ellenállást az MCLR-Vdd lábak közé?
Ha nem debuggolsz, akkor inkább a Vpp és Vss közé tegyél, de ott a kapcsolási rajz szernit van egy LED előtétellenállással...
Akkor nem teszek, mert ott a led megteszi a hatást.
Köszönöm még egyszer a segítségedet. Már tervbe van egy PICkit2 utánépítés. Azzal legalább talán nem lesz sok baj és megy usb ről is.
Sziasztok!
Lenne egy olyan problémám, hogy felprogiztam egy pic-et a forrasztó állomás kettőbe, de bennt a panelban, párhuzamos portról, előtte sokszor átprogiztam foglalatban. Most a panelban progiztam ICSP-n, többször jó lett, majd egyszer csak nem ment. Azóta az a jelenség, hogy felprogizom a panelban, majd a 12 volt levétele után ugye újraindul és megy szépen, amég az 5 voltot le nem veszem, ezután többet nem megy, az lcd-n kockák vannak. A progi kiolvasható belőle, ha megint felprogizom ugyanígy megint megy, amíg le nem veszem az 5 voltot, utána vége. Valaki hallott már ilyenről???
Tovább kísérleteztem, tehát, hogy érthető legyen:
Ha a forrasztó paneljában felprogizom, majd ráadom a forrasztó tápját és utána leveszem a programozót, vagyis nem szakad meg az 5 volt, akkor rádugom a pákát és működik tökéletesen az állomás. Ahogy azonban egyszer kikapcsolom vége, nem megy. A PIC-et kiolvasva ugyanúgy benne van a progi.
Szia!
Tegyél egy - egy 100nF -os, SMD1206 méretű, kerámia kondenzátort a 16F88 és az LCD táp és föld lába közé.
Sziasztok.
Problémám akadt az MPLAB 8.83-al. Egy PIC24-et szerettem volna szimulálni, de folyton ezt a hibát dobja ki. Idézet: „C:\Program Files (x86)\Microchip\MPLAB ASM30 Suite\bin\bin/pic30-coff-ld.exe: cannot open linker script file p24HJ128GP502.gld: No such file or directory Link step failed.” A keresett file elérési útját, én nem változtattam meg, az ott van ahova a telepítő rakta: C:\Program Files (x86)\Microchip\MPLAB ASM30 Suite\Support\Pic24h\gld\p24hj128gp502.gld Valamit nem veszek észre, vagy be kellene állítanom valahol az MPLAB-ban az elérési utat?
Van a projektben linker állomány? Ha van, akkor vedd ki, mert az csak az MSU bootloaderhez való!
Ha normálisan volt telepítve a C30, akkor a saját linker scriptjeit meg szokta találni. Ha végképp nem megy, akkor a Project/Set Language Tool Locations menüpontban meg lehet adni a keresési útvoalat egyszer, s mindenkorra. A már meglevő projektekben azonban nem fogja automatikusan figyelembe venni! Ha a támogatói programkönyvtárad használod, akkor definiálni kell a SIM makrót (azaz fordításkor a -DSIM opció jelenjen meg a parancssorokban). Legegyszerűbben a Project/Options/Project menüben: a C30 lapon Add gombra kattintás, és SIM=1 opció megadása.
Na, én is pont ezzel szívtam korábban.
![]() Megoldások: 1.) Még az új project létrehozása előtt beállítod az útvonalakat. 2.) Project > Build Options... > Project > Directories > Suite Defaults gomb használata (icserny #1226627 hozzászólása a PIC - Miértek, hogyanok haladóknak témában) 3.) Az MPLAB X-et használod inkább. (Én jobbnak találom.)
Köszönöm, mindkettőtöknek. Hosszas mérgelődés, és állítgatás után sikerült.
Icserny: Nincsen linker állomány, és normálisan lett telepítve. ( letöltöttem, és telepítettem, úgy, hogy a régebbi verziót uninstalláltam.) Viszont ezt a "SIM mekrót" nem értem.De majd talán később. Úgy sikerült lefordítani, hogy a Project/B options.../project menüben, az ASM30/C30 Suite fülön, a Target Type -nél a "Build library target (invoke LIB30)" lett kiválasztva. De sajnos erre ráment a fél napom. Nadelesz ez még így se. Zsora: Az MPLAB X-et már felraktam, és belenéztem, de még csak az ismerkedés szintjén tartunk. A randi még várat magára. Amúgy tetszik a felülete.
Az örömöm nem tartott sokáig.
A PIC-kwik tananyagban szereplő PIC24HJ128GP502-t, MPLAB-ban nem lehet szimulálni? Mert nálam a "Select Device"-ban sárga pötty van az MPLAB SIM előtt. Idézet: Ezzen nem mégy semmire, mivel így nem lesz belőle futtaható program (nem csatolja hozzá sem PIC24 library-t sem a startup kódot (ami az adatterület inicializálása után meghívná a main függvényedet). Tehát a "Build normal target (invoke LINK30)" beállításhoz kell ragaszkodni!„a Project/B options.../project menüben, az ASM30/C30 Suite fülön, a Target Type -nél a "Build library target (invoke LIB30)" lett kiválasztva.” A "normális" telepítésen azt értettem, hogy az MPLAB felrakása után lett telepítve a C30 fordító, és minden megajánlott opció rá lett hagyva. Idézet: Lehet szimulálni, csak okozhat meglepetéseket. A sárga vagy zöld pötty a gyári tesztelés mértékét jelenti. S a zöld pötty sem jelenti azt, hogy tökéletes... „A PIC-kwik tananyagban szereplő PIC24HJ128GP502-t, MPLAB-ban nem lehet szimulálni?”
Van amúgy a tápon kondi, de foglalatba progizva sem megy, valószínű megsérült egy része sajna, többet csak lcd-t lehúzva progizok.
Menet közben rájöttem, hogy hülyeséget csináltam. Visszaállítottam mindent, és megcsináltam az amit írtatok, de a hiba ugyan az maradt. Vagy rosszul csináltam, vagy nem értettem meg, amit írtatok.
Idézet: „A "normális" telepítésen azt értettem, hogy az MPLAB felrakása után lett telepítve a C30 fordító” Az igazat megvalva, már nem emlékszem, hogy hogyan telepítettem, de álltalában mindent ráhagyok a telepítőre. Csinálja úgy ahogy akarja. Közben kipróbáltam az MPLAB X-en is, és ugyanaz a hiba ott is. Pedig csak a legelső ASM progit szerettem volna szimulálni PIC-kwik tananyagból. Lehet, hogy először inkább a fejleszökörnyezetet kéne tanulgatnom, nem pedig a programozás. A PIC16-os szériával nemvolt soha bajom. Idézet: Jó, akkor a C30 telepítéséről és a SIM makróról írtak egyelőre tárgytalanok (én azt hittem, hogy valamelyik C programmal szenvedsz).„Pedig csak a legelső ASM progit szerettem volna szimulálni PIC-kwik tananyagból.” A megoldás az, hogy a Project/Build Options/Project menüpontban a Directories lapon a Library Search Path megjelenítését válaszd ki. A megjelenő lista bejegyzéseit töröld ki a Delet gombbal (ezeket a projekt hozza magával, de ezek az én gépemhez való beállítások, másoknál nem biztos, hogy jók). Ezután kattints a Suite Defaults gombra, és nézd meg, hogy mi jön be. Nálam most ez a nyerő:
Ha többféle típuscsaládot is használunk, akkor több könyvtárat is meg kell adni, pontosvesszővel elválasztva, mivel a Support mappában külön található a PIC24F, PIC24H, dsPIC30 és dsPIC33 támogatása. Most neked elég ezek közül a PIC24H... Idézet: „én azt hittem, hogy valamelyik C programmal szenvedsz” Jó lenne, ha már ott tartanék. De így.... Idézet: „Ezután kattints a Suite Defaults gombra, és nézd meg, hogy mi jön be” Semmi. A "Set Language Tool Locations > Microchip ASM30 toolsuite > Default s..... -nál is mind üres. Mindegy, kipróbálom amit írtál, háha jó lesz. Úgyis szolgálatban vagyok, ígyhát ráérek egész éjszaka. És még fizetnek is érte... Szerk. Műlődik !! Köszönöm szépen. Ezekszerint ha már eljutok a C-ig, ott is lesz szenvedés? Mert akkor felkészülök rá.
Sziasztok !
A PIC fordítom a következő üzenetet írja ki : Crossing page boundary -- ensure page bits are set. Ez mire utalhat? Köszi: Karcsi
Gondolom 16-os sorozat ?!
Túlmentél a laphatáron ( 2k ) és figyeltél-e a lapváltásra ( erre hívná fel a figyelmedet ) ?! Volt erről már többször is szó, keress rá HP41C kolléga írásaiban ! Steve
Sziasztok!
Most vettem észre egy érdekes dolgot egy PIC programozása közben, amit eddig nem vettem észre ![]() Oshonnal égettem egy pic-et és helyes verify-zés után gondoltam ki is olvasom a tartalmát, és ezt a kiolvasott tartalmat elmenettem a Save Buffer As segítségével. Ezt a fájlt jegyzettömbbel megnyitva és az eredeti fájlt jegyzettömbbel megnyitva nem volt egy forma az utolsó pár sor! Gondoltam mi a fene, ez érdekes ![]() A választ előre is köszönöm, nagyon kíváncsi vagyok mi lehet ez ![]() Üdv, mate_x |
Bejelentkezés
Hirdetés |