Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Ja, hogy ja! Ezt nem figyeltem! Elég érdekes megoldás, főleg arra jó, hogy megszívasson!
Nem mondod, hogy te ezt érted? Egyébként érdemes lenne szerinted? (jók a kommentek? )
Nem ugyanaz, mert mostmár legalább a helyfoglalás és a küldés hasonlít az eredeti programra. Szerintem a RAM-ba írásnál kellene a hibát keresni, pl itt. Miért van itt 0x63?
Azt még akkor átírtam 67-re, amikor a 68. Tehát együtt lett módostva.
Amúgy van egy olyan rész hogy "START RADIO TEXT" Na ott a gyári progiban volt egy olyan szám hogy 0X34 és utána következő "READ CONFIG"-ba is megtalálható. Ezt megváltoztattam az F628A-ban is, de látható hogy BANK1-be, mert amig benne volt a BANK0-ban az elejéről is hiányzott +4 karakter. Amikor átraktam az eleje jó lett.
Igen, értem. Értelmesek a kommentek, pl. az előző jelentése: Az utolsó RAM cím, ami ki lesz olvasva/el lesz küldve.
Megnéztem már végre ezt a kódot, amiről pár napja beszélgettek. Förtelmes, főleg az eleje. Azt miért nem írtad még át legalább valami cblock-os helyfoglalásra, hogy biztosan mindennek jó helye legyen, ne lehessenek egymásra lógások egy elírás következtében?
A másik, amit érdemes lenne végigbogarászni, hogy a ciklusoknál ne fix kezdő- és végértékek legyenek, hanem a cblock-ban kiosztott változónevekkel kalkuláltak. Harmadik megjegyzésem, hogy a 84-ben minden bankon ugyanaz a memóriaterület látszik, a 628-ban sajnos nem (ezzel jól elrontották a kompatibilitást és a régi programok könnyű áthurcolhatóságát). Emiatt végig kellene nézni, hogy mindenhol, ahol a nullás bankról elmászkál, ott a műveletek végrehajtása után lépjen is vissza a nullásra, hogy a változóterületet megfelelően lássa a program minden része. Utolsó észrevételem egy érdekesség, az MPLAB szólt is, hogy nem javasolt a TRIS utasítás használata, a midrange adatlapokban már nincs is ilyen utasítás dokumentálva. Ezek szerint mégis létezik, ismeri a proc is és az MPLAB is, esetleg érdemes lenne átírni ezeket a sorokat a támogatott, "movwf trisX" formára (persze megfelelő bankolással). A többiekhez ezzel kapcsolatban egy kérdés: lehet, hogy a nem dokumentált "TRIS" utasítással bankfügetlen TRIS-regiszter elérést lehet megvalósítani a midrange eszközökön is? Mert az még jól is jöhetne néhol. Idézet: „lehet, hogy a nem dokumentált "TRIS" utasítással bankfügetlen TRIS-regiszter elérést lehet megvalósítani a midrange eszközökön is? Mert az még jól is jöhetne néhol.” Szerintem próbáld ki a szimulátorban. Nekem most nincs kéznél. Idézet: „A többiekhez ezzel kapcsolatban egy kérdés: lehet, hogy a nem dokumentált "TRIS" utasítással bankfügetlen TRIS-regiszter elérést lehet megvalósítani a midrange eszközökön is? Mert az még jól is jöhetne néhol.” Szimulatoron most neztem meg, ott mukodik az alabbi teszt:
Ez nem rossz felfedezes, Szilva
Szerinted ez mit csinál? 1. A bankváltásra itt, egy számkonstans betöltése erejéig nincs szükség, hiszen a literálist nem a RAM-ból veszi a program 2. Az eredeti szám (0x32) valami számlálási határ lehetett, azt meg jól átirtad...
icserny!
Nálad a végső pont! De persze másnak is köszönöm aki segítséget. Visszaírtam 34-re és jó lett! Erre nem számítottam hogy ez okozhat ilyen hibát. Van még mit tanulnom.... Apropó! Ha már itt tartunk. Valaki tudna ajánlani valami Irodalmat, ahol ezek a programozási dolgok össze vannak szedve. Ha van Magyar nyelvű az lenne a legjobb, de lehet Angol is, mert elég jól megértem. Idézet: „Valaki tudna ajánlani valami Irodalmat, ahol ezek a programozási dolgok össze vannak szedve.” Bővebben: Pl.
No, mivel most értem haza és nem volt módom nappal kipróbálni a dolgot, örülök, hogy legalább a szimulátorban letesztelted. Bíztató a dolog, talán érdemes lenne hardveren is megvizsgálni. Hátha a hétvégén sikerül végre leülni egy kicsit a műhelysarokban is
Hat remelem nekem is sikerul majd valami ertelmeset csinalni - epp megy a restore a desktop gepre, ugy tunik mukodik a dolog, es szerencsere a chipjeimhez meg a muszerkeimhez nem nyultak a betorok. Szerencsere nem tudtak mennyit er a oszcilloscope meg a USB-s multimeter No persz e PICsold, na az megfizethetetlen
Na mindegy, majd az OPTION utasitast is le kellene tesztelni, meg arra gondoltam ennek oromere kellene keresgelni undocumented utasitasokat, mint a regi szep idokben a 6502-n Idézet: „kellene keresgelni undocumented utasitasokat, mint a regi szep idokben a 6502-n” Ja, az Intel 8085 8-bites mikroprocesszornak is voltak frankó 16 bites nem dokumentálatlan utasításai.
Valakinek sikerült már a Hi-Tech C fordítót (PIC10/12/16-ra) beüzemelni MPLAB 8.14 vagy 8.15a alá úgy, hogy rendszergazda jogosultságok nélkül is működjön?
Második este szenvedek vele, de csak adminként működik. Mezei userként meg sem jelenik a Language tools listán, ha mégis előcsalogatom és megmondom, hogy hol van (a Microchip hibaelhárítója szerint), akkor meg azt hazudja, hogy "Not valid installed Hi-Tech compiler drivers". Legutoljára az MPLAB 8.15a-val próbálkoztam, abban eleve benne van a Hitech HCPIP-pro-9.60PL3.exe nevű telepítő. Naívan azt gondoltam, hogy ennek mennie kell. Idézet: Na, ezt jólmegaszontam! Szóval: nem dokumentált utasításai... „nem dokumentálatlan”
Üdv
Arról szeretnék információt, hogy hogyan lehet megtudni, kiszámolni hogy egy program a PIC-ben mennyi RAM-os és ROM-ot foglal el? Másik kérdés. Egy ADÓ-Vevő egységet szeretnék csinálni (433Mhz-es modulokkal). Fontos az hogy a RX lábon legyen az a vevő és a TX-en az adó? A Manchester kódolás megvan meg minden, ha rákötök ledet az adó aktív részére, és a vevő aktív részére akkor látom hogy a jel átmegy, de a PIC nem teszi azt amit kellene. (bizonyos ifó átjön akkor megnézi mi az és attól függően ad magas vagy alacsony jelet a lábaira), de ez nem akarja. A táp kondival és 7805-el megy, gondolom akkor elég stabil és zajmentes (vagy hogyan lehetne még jobban leárnyékolni, pl konzervdobozba, és csak a antennát vezetném ki rajta??), mert sajnos néha néha falsot villan, akkor is vesz jelet ha adó nem ad. Köszi a választ.
Nemrég volt valami hasonló téma a microchip fórumán, és igazából az jött ki, hogy az egy szép dolog, hogy a microsoftnál kitalálták, hogy ne admin jogosultságokkal használjuk a gépeket, de ezt a többi szoftvergyártónak (köztük a microchipnek) is számításba kellene vennie ahhoz, hogy zavartalanul tudjunk dolgozni. Amíg ezt nem teszik meg, addig marad az, hogy rendszergazdaként használjuk a gépeket (gondolom közülünk elég sokan így tesznek, akik windows-t használnak).
Lefordítod és akkor a fordító megmondja. asm program esetén kézzel is ki lehet számolni, de nem túl célszerű.
Igen.
Az a problémám, hogy mikroBasic-ben írom a progit, és az a bajom, ha lefordítom akkor kiírja hogy használt ROM 15% RAM 5%, ha írok hozzá még 3 sort (PORTA =, aztán várakoztatás (delay) és újra lefordítom akkor azt mondja hogy Not enough ROM main... Pedig előtte is ugyanezek vannak (ablakdíszt akarok 63 leddel mátrix elrendezésben és a lábakat akarom beállítani) de ha 3 sort utána írok akkor már ezt írja ki pedig előtte van kb 20 sor ilyen... szal nem tudom...
A Microchip ellen speciel nincs kifogásom, mert az MPLAB frankón működik mezei userként (MPASM, C18, C30, szimulátor, programozás, debug).
A PICkit2-vel voltak nehézségeim (kilépésnél pofázott, hogy nem tud az .ini állományba írni). Kimásoltam az egész hóbeleváncát egy mezei könyvtárba, azóta nincs gondom vele. CCS MPLAB modulja szintén működött frankón, de az IDE-ja IDE-tlenkedett (csak Admin-nak indult el). Le is töröltem... Hi-Tech C ugyancsak IDE-tlenkedik... bár parancsorból még nem próbáltam. Idézet: „ Amíg ezt nem teszik meg, addig marad az, hogy rendszergazdaként használjuk a gépeket” Na, ebbe az utcába nem szeretnék belemenni, mert munkára használt gépről van szó, s nincs időm vírusokat kergetni, kémprogramokra vadászni, vagy rendszeresen újratelepíteni. Inkább lemondok az ilyen "igényes" programokról (amúgyis csak egy próbához kellett volna).
Hmmm... Nem egy méretben korlátozott demóverziót használsz véletlenül?
Hasznos dolog a Futtatás mint... opció, amikor jobbgombbal kattintasz egy fájlon a duplakatt helyett. Ekkor az adott alkalmazás másik felhasználóként (pl. rendszergazdaként) futtatható, míg a többi, (ami vírusokat tud begyűjteni), azok korlátozott felhasználóként.
Egyébként php programozást csinálok munkaidőben, ami ugye eléggé netes meló, mégsem gyűjtöttem be az elmúlt fél év alatt vírust (azóta foglalkozok php-vel). Újratelepíteni sem kellett a gépet. Egy kis odafigyelés, nem minden szir-szar felrakása sokmindentől megóv bennünket... Idézet: „lehet, hogy a nem dokumentált "TRIS" utasítással bankfügetlen TRIS-regiszter elérést lehet megvalósítani a midrange eszközökön is?” Eszköze válogatja, ugyanis a Microchip nem garantálja az újabbakon a kompatibilitás fenntartását (ezért mondják, hogy ne használjuk). Egyébként az itt található dokumentum emleget egy hasonlóan "elavult" OPTION utasítást is, ami meg az option regisztert írja (W -> OPTION). Emitt pedig azt írja egy jóember, hogy a PIC16F877-ben működik a TRIS utasítás, de csak az A, B, C portokra, a D és E portokra nem. Hát erről ennyit.... Idézet: „Hasznos dolog a Futtatás mint... opció” Köszönöm, majd megnézem ezt is!
Valaki megtudná nek mondani, hogy miért ír vissza ilyet az Mplab, amikor 16f84a-nál a BSF STATUS,RP0 paranccsal tudok belépni a második bankba?
Message[302] D:\MPLAB STEPPER UNIDRIVE\UNIDRIVE.ASM 27 : Register in operand not in bank 0. Ensure that bank bits are correct. A programban így áll: BSF STATUS,RP0 MOVLW b'00000000' MOVWF TRISA MOVWF TRISB A segítséget előre is köszönöm!
Ez csak egy figyelmeztetés, mivel azt nem követi nyomon, hogy tényleg bankot váltottál-e. Látja, hogy a TRIS regiszterek másik bankban vannak, és kiabál, hogy ne felejtsd el a váltást.
Ha tökéletesen biztos vagy abban, hogy mindig megfelelően váltasz, az "errorlevel -302" direktívát beszúrhatod a forrás elejére, és akkor elmaradnak a figyelmeztetések.
Köszi szépen! Mintha valahol hallottam volna erről már, csak nem derengett semmi, végül is zöldre fut le a progressbar!
Mégegyszer köszi a segítséget! Idézet: „Mintha valahol hallottam volna erről már” És miért nem használod ilyenkor a keresőt? Kb. havonta jön valaki, aki megkérdezi... |
Bejelentkezés
Hirdetés |