Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   708 / 1320
(#) lidi válasza Thowra hozzászólására (») Márc 22, 2010 /
 
Esetleg ezt nézd meg: http://eng-serve.com/pic/pic_timer.html
(#) steev válasza icserny hozzászólására (») Márc 22, 2010 /
 
  1. Total data memory used (bytes):          0x70a  (1802) 87%
  2.  
  3. Dynamic Memory Usage
  4.  
  5. region                     address                      maximum length  (dec)
  6. ------                     -------                      ---------------------
  7. heap                             0                                   0  (0)
  8. stack                        0xf0a                                0xf6  (246)


Próbáltam növelni, de nem segít. Viszont ha csökkentem a AAvarage[] tömb méretét akkor lefut rendben. Kevés a memória a stack számára?
(#) szilva válasza steev hozzászólására (») Márc 22, 2010 / 1
 
Egy ilyen összegzés nem kellene, hogy tömbmérettől függő mennyiségű stacket használjon, hacsak nem valami rekurzív megoldásról van szó. Lehet, hogy a program szerkezetével van inkább gond, nem az összegzéssel, csak szerencsétlen módon épp itt bukik ki.
(#) icserny válasza steev hozzászólására (») Márc 22, 2010 / 1
 
Idézet:
„Kevés a memória a stack számára?”
Nem tudom, ez akkor derülne ki, ha meg tudnád növelni a méretét és lefutna a program... Az említett tömbödön kívül mi foglalja még az adatmemóriát? Ha jól látom, a 2K-ból 1802 bájt foglalt...
(#) Fulib hozzászólása Márc 22, 2010 /
 
Üdv!
A PIC18F8722-es család komparátor moduláról lenne egy kérdésem. Az adatlap szerint (mellékletben) 8 féle működési módja van. Ezek közül egyikben sem látok olyat, ahol egyszerre lehet belső komparátor referenciát használni (CVref) és egy külső lábra kapcsolni aszinkron a komparátor kimenetét.
Lehetséges mégis valahogyan egyszerre a két fícsör használata? (Ha esetleg valakinek van ilyenje és ki tudná próbálni az nagyon jó lenne, de ötleteket is szívesen várok.)
(A PIC18F24K20-ban ez teljesen érthetően és rugalmasan működik, csak nekem két UART modulra van szükségem és EEPROM-ra. A többi típusnál ezek hibádznak.)

Köszi előre is!
Balázs

komp_8722.jpg
    
(#) steev válasza icserny hozzászólására (») Márc 22, 2010 /
 
A programban lévő LCD modul használ egy buffert, hogy ne kelljen visszaolvasni adatot az LCDről, ez 1024bájt, csak a gyorsabb képernyőkezelés miatt használtam.

szilva:
Összesen 5 tömb van, ha 5 eleműek akkor lefut a prg, ha 20 akkor már nem.

Kicsit átnéztem a változókat és sikerült egy kis helyet megtakaírtanom, 1előre ezzel megoldódott.

Köszi nektek
(#) zsoltee0001 hozzászólása Márc 22, 2010 /
 
Sziasztok

PIC 12F629 írásakor "Invalid Osccal"-t ír ki a PK2 programja, meg visszaolvasáskor a kód se stimmel egészen.
Lehet, rosszul lett konfigurálva a oscillator, de fura, mert törlés után is írja ezt a hibát.
Hogy lehet orvosolni ezt a hibát?

üdv
(#) icserny válasza zsoltee0001 hozzászólására (») Márc 22, 2010 /
 
A Tools menüben OSCCAL/Auto regenerate nekem már segített egyszer, hasonló probléma esetén.
(#) dokidoki válasza zsoltee0001 hozzászólására (») Márc 22, 2010 /
 
Szia!
Minap én is küzdöttem egy kanyart ezzel. Meg előtte is volt bajom, de azt a jdm alapú programozó szoftver és hardver okozta a 12F-nél.
A utóbbi esetben ezt a hibát, meg a programozó lábakat terhelő ledek okozták, leforrasztva megoldódott a probléma.
(A jdm-el eltolt PICeket, nálam is az auto regenerate hozta vissza.)
(#) zsoltee0001 válasza icserny hozzászólására (») Márc 22, 2010 /
 
Szia
Köszi, sikerült.
(#) Hp41C válasza Fulib hozzászólására (») Márc 22, 2010 /
 
Szia!

Az adatlapban a "Comparator Voltage Reference Module" fejezetben (23-2 ábrán) láthatóan a belső referencia az RF5 lábon kihozható. Ez a láb 22-1 ábra szerint felhasználható a komparátor(ok) bemeneteként. A komparátor(ok) (001, 011, 101 mód) kimenete a RF2 ill. RF1 lábra hozhatók ki.

A 110 módban a komparátorok + bemenete a kontrolleren belül is összeköthető a Vref modullal...

Szia
(#) kissi válasza dokidoki hozzászólására (») Márc 22, 2010 /
 
Idézet:
„A jdm-el eltolt PICeket, nálam is az auto regenerate hozta vissza.”
--> az "auto regenerate" az mi ?

Steve
(#) potyo válasza kissi hozzászólására (») Márc 22, 2010 / 1
 
A programmemória végén van egy érték eltárolva, amivel gyárilag bekalibrálták a belső oszcillátort (talán) 1%-on belüli pontosságra. Ezt a fejlettebb égetők (ICD2, Pickit2) írás előtt kiolvassák, majd visszaírják, így nem veszik el a gyári kalibrációs adat. JDM és hasonló egyszerűbb égetők viszont nem olvassák ki írás előtt, így az adat elveszik. A Pickit2 tud olyat, hogy a kontroller kimenetén méri az órajelet, és így utólag újra létrehozza ezt a kalibrációs értéket - ez az auto regenerate. Nem egy nagy tragédia egyébként az sem, ha nincs visszaállítva, pontos időzítést igénylő feladathoz úgyis kvarcot használunk, amihez meg nem kell a pontos időzítés, az meg általában simán elvan egy közepes beállítással, amivel alapból is indul a kontroller - hogy 4 helyett 3,7 vagy 4,3MHz-en fut, az gyakran lényegtelen.

Egyébként egyes piceknél ezt az értéket úgy kell programból kiolvasni a programmemória végéről és beírni a megfelelő regiszterbe. Vagyis ha ezt nem csinálod meg, akkor hiába áll ott a kalibrációs érték, nem lesz használva.
(#) Fulib válasza Hp41C hozzászólására (») Márc 22, 2010 /
 
Köszi szépen!
Azt hittem így nem fog működni, tehát az RF5 láb vagy analóg bemenet (komparátor) vagy analóg kimenet (feszültség referencia), és hogy "összeakad" a kettő funkció.
Köszi még1x!
Szép napot!
Balázs
(#) dokidoki válasza kissi hozzászólására (») Márc 22, 2010 /
 
Bocsánat a pongyola fogalmazásért. Potyo fórumtárs korrektül megválaszolta, köszönöm neki
(#) Attis92 hozzászólása Márc 22, 2010 /
 
Üdv.

Keresgettem a fórumon a problémámra megoldást, de nem találtam megfelelőt. Ha figyelmetlen voltam ezúttal kérek elnézést! Szeretnék építeni egy 4 csatornás DMX vezérlésű Dimmert. Az áramkör felépítésével semilyen kérdésem nincs, csak a PIC-be égetendő programmal! Elkészítettem a programot, számtalanszor leszimuláltam, de amikor beégedtem egy próbapanelba nem azt vártam amit csinált. Szépen elindul az eleje egy szabadon futó számláló az 50Hz hálózati feszhez szinkronba szépen komparál, de mikor adok neki DMX jelet belekerül egy végtelen ciklusba. Pedig a szimulációba nem tudtam olyan feltételt adni ami ilyen ciklusba lökte volna! Interruptal kezeli le a DMX jelet, felteszem a programrészletet!
A segítséget előre is köszönöm.
(#) kissi válasza potyo hozzászólására (») Márc 22, 2010 /
 
Köszi, ezt ismertem ( már a kalibrációs értéket, a saját kalibrálást én még nem használtam!), csak nem tudtam, hogy így hívják .

Egyébként ilyen esetben én azt csináltam, hogy különböző OSC_CAL értékeknél megmértem egy kiadott jel frekvenciáját ( periódus idejét ) és a megfelelő értékkel indítottam a programot, nem a gyári értéket hívtam elő!

Kösz a segítséget!

Steve
(#) icserny válasza Attis92 hozzászólására (») Márc 22, 2010 /
 
Itt (meg korábban) volt már róla szó. Az AN1076 alkalmazási mintapéldánál hathatósabb segítséget nemigen tudtunk adni ebben a topikban.
(#) Attis92 válasza icserny hozzászólására (») Márc 22, 2010 /
 
Köszönöm a választ, de már láttam a PDF-et, tulajdonképpen az volt a minta. Nemtudom miért nem működik
(#) Thowra válasza lidi hozzászólására (») Márc 23, 2010 /
 
Üdv!
Köszönöm a segítséget, így már világos a dolog.
(#) borvendeg hozzászólása Márc 23, 2010 /
 
Hello!
Abban kellene nekem segítség, hogy a PIC16f628-as processzor A.3-as portjának a programozása során kell e beállítani valamit a port irányon kívül.
A problémám:
Egy nyomógombot szeretnék figyelni ezen a biten. A nyomógomb 0V-ra húzza a portlábat alapállapotában 5V-ra van téve. Ha a programban megpróbálom figyelni ezt a lábat akkor nem hajlandó csinálni semmit.(egy 7szegmenses kijelzős óra) Kijelző kép sincs olyankor.
Segítséget előre is köszi.
(#) borvendeg válasza borvendeg hozzászólására (») Márc 23, 2010 /
 
Bocsi megint én vagyok. Most sikerült elérnem hogy a program már fut ha figyeltetem vele az A.3-as portot. De most folyamatosan azt hiszi hogy a nyomógombot nyomom.
Egyszerűen nem tudom mi lehet a baja az A.4-es biten lévő nyomógomb tökéletesen működik.

MATYAS2.BAS
    
(#) Hp41C válasza borvendeg hozzászólására (») Márc 23, 2010 /
 
Szia!

Már sokszor leírtuk, ki kell kapcsolni a komparátorokat: a CMCON regiszterbe 7 -et kell írni (ld. adatlap 9-1 ábra).

Szia
(#) vilmosd válasza borvendeg hozzászólására (») Márc 23, 2010 /
 
Hali
A PIC-ek portjai altalaban tobbfunkciosak. A RESET utan beall egy bizonyos funkciora, es utana a hasznalat szerint ezeket a beallitasokat meg kell valtoztatni. Ez vilagosan le van irva az eszkoz adatlapjaban. A Te esetedben a '628 PORTA also 4 bitje comparator funkciohoz van hozzarendelve. Az adatlap vilagosan ir errol. (40300b 27. oldal). A RESET utan comparatorkent van konfiguralva a RA0->RA3. Tehat nem fog mukodni mint digitalis bemenet. A digatalissa varazslashoz be kell irni a CMCON regiszterbe a "7" erteket es utana a PORTA hasznalhato digitalis be/ki-kent a TRISA beallitasatol fuggoen.
Udv Vili
(#) borvendeg válasza vilmosd hozzászólására (») Márc 23, 2010 /
 
Örök hála működik. Köszi a segítséget.
(#) PoC_Zoli hozzászólása Márc 23, 2010 /
 
Sziasztok!

Lenne egy olyan problémám, hogy az MPLAB 8,40 nem hajlandó nekem lefordítani a következő kódot:

Idézet:
„Reset_Vector org 0x00
GOTO START
HI_INT_VECTOR org 0x008 ;Magas prioritású megszakítás címe
GOTO IT_H_SERVICE ;Ugrás a magas megszakítást kiszolgáló rutinra
LOW_INT_VECTOR org 0x018 ;Alacsoy prioritású megszakítás címe
GOTO IT_L_SERVICE ;Ugrás az alacsony megszakítást kiszolgáló rutinra”



A GOTO START sorra két hibát is kiír nekem, amit nem igazán értek:
Idézet:
„...ASM 57 : Overwriting previous address contents (0000)...
...ASM 57 : Overwriting previous address contents (0001)”


Találtam neten leírást amiben csak a címek vannak megadva, de akkor is ugyanezt a hibát adta ki a GOTO START sorra.

Remélem valaki segíteni tud, amit előre is köszönök.
(#) trudnai válasza PoC_Zoli hozzászólására (») Márc 23, 2010 /
 
Nyilvan van mas kod is a programodban a 0-s helyen. A teljes forrast kuldd el (csatold a Filemelleklet segitsegevel) es akkor abbol kiderul mivel utkozik.
(#) PoC_Zoli válasza trudnai hozzászólására (») Márc 23, 2010 /
 
Íme, ő lenne az.
Ez az első programom.
Köszi a segítséget.

feszmer.asm
    
(#) Hp41C válasza PoC_Zoli hozzászólására (») Márc 23, 2010 /
 
Szia!

A 17. sorban benn maradt egy utasítás, ami a 0 címre fordul....

Szia
(#) potyo válasza PoC_Zoli hozzászólására (») Márc 23, 2010 /
 
Az előzőn felül két start címkéd is van. Igaz, egyik kisbetűs, a másik nagybetűs, de inkább írd át az egyiket.
Következő: »»   708 / 1320
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