Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   339 / 1319
(#) watt válasza icserny hozzászólására (») Nov 14, 2008 /
 
Ja, hogy ja! Ezt nem figyeltem! Elég érdekes megoldás, főleg arra jó, hogy megszívasson!
(#) watt válasza potyo hozzászólására (») Nov 14, 2008 /
 
Nem mondod, hogy te ezt érted? Egyébként érdemes lenne szerinted? (jók a kommentek? )
(#) icserny válasza geri12 hozzászólására (») Nov 14, 2008 /
 
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?

  1. movlw   0x63                            ; provjeri dali si upisao sve adrese ozim zadnje 32 byta u RAM
  2.  
  3.                         bcf             STATUS, Z
  4.  
  5.                         subwf   RAM_ADDR, w
  6.  
  7.                         btfss   STATUS, Z
  8.  
  9.                         goto    _NO_DPS                         ; loopback dok neisitas 32 byte od 33 RDS byta
(#) geri12 válasza icserny hozzászólására (») Nov 14, 2008 /
 
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.

(#) potyo válasza watt hozzászólására (») Nov 14, 2008 /
 
Igen, értem. Értelmesek a kommentek, pl. az előző jelentése: Az utolsó RAM cím, ami ki lesz olvasva/el lesz küldve.
(#) szilva válasza geri12 hozzászólására (») Nov 14, 2008 /
 
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.
(#) potyo válasza szilva hozzászólására (») Nov 14, 2008 /
 
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.
(#) trudnai válasza szilva hozzászólására (») Nov 14, 2008 /
 
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:
  1. banksel PORTB   ; set all outputs high
  2.         MOVLW   0x55
  3.         TRIS    PORTB
  4.         banksel TRISB   ; set all outputs high
  5.         MOVLW   0xAA
  6.         TRIS    PORTB

Ez nem rossz felfedezes, Szilva
(#) icserny válasza geri12 hozzászólására (») Nov 14, 2008 /
 
  1. BSF     STATUS, RP0
  2. movlw       0xA0
  3. BCF     STATUS, RP0


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...
(#) geri12 válasza icserny hozzászólására (») Nov 14, 2008 /
 
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.
(#) MPi-c válasza geri12 hozzászólására (») Nov 14, 2008 /
 
Idézet:
„Valaki tudna ajánlani valami Irodalmat, ahol ezek a programozási dolgok össze vannak szedve.”


Bővebben: Pl.
(#) szilva válasza trudnai hozzászólására (») Nov 14, 2008 /
 
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
(#) trudnai válasza szilva hozzászólására (») Nov 14, 2008 /
 
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
(#) icserny válasza trudnai hozzászólására (») Nov 14, 2008 /
 
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.
(#) icserny hozzászólása Nov 14, 2008 /
 
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.
(#) icserny válasza icserny hozzászólására (») Nov 14, 2008 /
 
Idézet:
„nem dokumentálatlan”
Na, ezt jólmegaszontam! Szóval: nem dokumentált utasításai...
(#) dolfin hozzászólása Nov 15, 2008 /
 
Ü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.
(#) potyo válasza icserny hozzászólására (») Nov 15, 2008 /
 
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).
(#) potyo válasza dolfin hozzászólására (») Nov 15, 2008 /
 
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ű.
(#) dolfin válasza potyo hozzászólására (») Nov 15, 2008 /
 
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...
(#) icserny válasza potyo hozzászólására (») Nov 15, 2008 /
 
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).
(#) icserny válasza dolfin hozzászólására (») Nov 15, 2008 /
 
Hmmm... Nem egy méretben korlátozott demóverziót használsz véletlenül?
(#) icserny válasza icserny hozzászólására (») Nov 15, 2008 /
 
Mert ugyebár:

Note: in Demo version, hex output is limited to 2k of program words.
(#) potyo válasza icserny hozzászólására (») Nov 15, 2008 /
 
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...
(#) icserny válasza trudnai hozzászólására (») Nov 15, 2008 /
 
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....
(#) icserny válasza potyo hozzászólására (») Nov 15, 2008 /
 
Idézet:
„Hasznos dolog a Futtatás mint... opció”

Köszönöm, majd megnézem ezt is!
(#) mammut hozzászólása Nov 15, 2008 /
 
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!
(#) kobold válasza mammut hozzászólására (») Nov 15, 2008 /
 
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.
(#) mammut válasza kobold hozzászólására (») Nov 15, 2008 /
 
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!
(#) potyo válasza mammut hozzászólására (») Nov 15, 2008 /
 
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...
Következő: »»   339 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem