Fórum témák

» Több friss téma
Fórum » PIC programozás assemblyben
 
Témaindító: sonajkniz, idő: Máj 30, 2015
Témakörök:
Lapozás: OK   14 / 32
(#) cua válasza sonajkniz hozzászólására (») Ápr 30, 2016 /
 
..erdekes, nem tudok hozzafuzni a hozzaszolasomhoz :-O

Tehat itt kint mar nem irtam hozza semmit csak 1621-hez, de az i2c-t hasznal, nem 1wire-t. Viszont tovabbra is ugy emlekszem kell neki egy init squence, aminek resze a reset is.
Merget azert nem vennek ra
(#) petike199600 hozzászólása Jún 5, 2016 /
 
Sziasztok!
Azt szeretném kérdezni, hogy lesz attól valami baja a PIC-nek, ha másodpercenként kb 20-szor reseteli a WDT?
Ez egy segédáramkőr lenne, ami mátrixban olvas be gombokat, majd vár a lekérdezésre. Ha nem történik meg a lekérdezés, a WDT leresetelné, és újra beolvasná a gombokat. Ha van lekérdezés, az törli a WDT-t, és a ciklus elejére küldi.
(#) Hp41C válasza petike199600 hozzászólására (») Jún 5, 2016 /
 
Nem lesz baja tőle.
(#) petike199600 válasza Hp41C hozzászólására (») Jún 5, 2016 /
 
Köszönöm.
(#) sonajkniz hozzászólása Jún 9, 2016 /
 
Segítséget szeretnék kérni!

A PIC18F14K22-esben sajnos nincs LVD. Viszont szükségem lenne rá, hogy a tápfesz csökkenése kiváltson egy megszakítást, hogy tudjak adatot menteni.
Arra gondoltam, hogy egy ellenállást sorba kötök egy diódával, amit a negatívra kötök. Így lesz egy stabil 0,6V-om, amid az A/D-vel vizsgálni tudok.
Eddig működik is a dolog, tehát ha csökken a tápfesz, emelkedő értéket olvasok le a bemenetről.
A kérdésem az lenne, hogy tud-e olyasmit ez a PIC, hogy hardverből figyeli egy analóg jel változását, és megszakítást vált ki rá?

Válaszotokat előre is köszönöm.
(#) Hp41C válasza sonajkniz hozzászólására (») Jún 9, 2016 /
 
Analog komparátor egységgel meg lehet oldani.
(#) sonajkniz válasza Hp41C hozzászólására (») Jún 9, 2016 /
 
Egy picit bővebben, ha kérhetném!
Az A/D átalakítót már sokszor használtam, de a komparátort még soha.
Ehhez teljesen sügér vagyok.
(#) cross51 válasza sonajkniz hozzászólására (») Jún 9, 2016 / 1
 
Van a PIC-ben is egy komparátor ehhez raksz egy külső vagy belső referenciát bár ez nem tudom, hogy a feszültség változására mennyire mászik el. És a 0,6V-ot CxyINx- kötöd és ezt a referenciával össze fogja hasonlítani a komparátor, ha nagyobb mint a referencia a komparátor kimenete 0, ha kisebb akkor 1 és ezt (hogy mikor 0 és 1) a CxPOL-al tudod beállítani.
És lehet rá IOC-ot konfigurálni és ha változás történik akkor beugrik a megszakításba és onnan tudod, hogy menteni kell.

Nem biztos, hogy Hp41C erre gondolt, de szerintem valami ilyesmire.
(#) Hp41C válasza sonajkniz hozzászólására (») Jún 9, 2016 / 1
 
A komparátor modul egyik komparátorát engedélyezed, a CINx+ és CINx- lábakat analógra állítod, a CINx+ lábra kötöd az emlegetett dióda anódját, a CINx- -ra egy ellenállásosztó leágazását. A kompatárot kimenete egy COUTx biten olvasható. Ha a komparátor megszakítást engedélyezed, a szint átlépésekor megszakítás kérés keletkezik.
A típustól függ, hogy melyik komparátor és milyen lábak használhatók. Az ellenállás osztó helyett a belső referencia (VREF modul) is felhasználható.
A hozzászólás módosítva: Jún 9, 2016
(#) usane válasza sonajkniz hozzászólására (») Jún 9, 2016 / 1
 
Amit lentebb leírtak az mind szép és jó, de mit kezdesz 0,6V-al? az "L" jelű PIC-ek is jó esetben 1.8V körölig működnek . Az elgondolás jó, de kell egy biztonsági kondi a PIC tápjára amit szintén diódával leválasztasz. Ezenkívül meg még egyéb megoldások is léteznek ezen elven, nem kell használni semmilyen perifériát, elég ha egy dióda előtt figyeled a tápot és alacsony szint, vagy ha fordítva kell egy tranzisztorral magas szint esetén ad jelet egy int lábnak, a dióda mögött pedig ugyanúgy egy kondi ami pufferel amig ment a PIC.
(#) sonajkniz hozzászólása Jún 9, 2016 /
 
Köszönöm mindenkinek a segítséget.
Remélem, így már megoldom.
(#) sonajkniz hozzászólása Júl 1, 2016 /
 
Sziasztok!

Adatmentéssel kapcsolatos kérdésem lenne.
Honnan lehet azt megtudni, hogy egy PIC-nek mennyi idő kell 1 byte adat EEPROM-ba írásához. Ugyanis az adatlapon nem találom. Kissé furcsállom azt, hogy egy 16MHz-n üzemelő PIC-nek, ami 80usec-enként lekérdezi a tápfeszt, és 4V-ra csökkenés esetén indítja a mentést, 50msec nem elég 75 byte mentésére.
(#) Hp41C válasza sonajkniz hozzászólására (») Júl 1, 2016 / 1
 
Az adatlapból. Nemtudom milyen típusról van szó, a kép a 18F2550 -éről készült.
(#) sonajkniz válasza Hp41C hozzászólására (») Júl 1, 2016 /
 
Szent szalmazsák!
Mitől ilyen lassú ez?
Egyébként még egyszer átnéztem az adatlapot, (18F14K22) de ilyen táblázatot nem találtam.
Köszönöm.
(#) Hp41C válasza sonajkniz hozzászólására (») Júl 1, 2016 /
 
Mert EEPROM.
(#) sonajkniz válasza Hp41C hozzászólására (») Júl 1, 2016 /
 
Oké!
Nyertél.
Én az EEPROM-al foglalkozó fejezetben kerestem. Számomra az tűnt logikusnak, nem az elektromos paraméterek.
Mégegyszer köszönöm.
(#) Pali79 válasza sonajkniz hozzászólására (») Júl 1, 2016 /
 
Ott is van ha utána számolsz. Azt mondtad, hogy 50 ms alatt kb 15 byte, az 3,333 ms/byte.
(#) sonajkniz hozzászólása Júl 3, 2016 /
 
Sziasztok!

Újabb problémám akadt.
64 bites Linux-ra feltelepítettem a legújabb MPLAB X-et.
Több PIC-el is próbáltam projectet nyitni. Minden fordítási kísérlet kudarc.
Állandóan azt írja, nem találja az adott PIC inkclude file-ét.
Azaz ezt a sort dobja ki elsőnek hibára: INCLUDE <P18F14K22.INC>
Folytatásként minden olyan sort kidob, ami a PIC perifériáira vonatkozik.
Holott ha megnyitom a Configuration Bits ablakot, abban benne van minden, ami kell.
Tehát a PIC-et ezek szerint mégis beazonosítja.
Hol lehet a hiba?
(#) sonajkniz válasza Pali79 hozzászólására (») Aug 20, 2016 /
 
Na igen.
Én így jártam az LG PLC-vel.
Az Unitronics-nál mindenre van kész megoldás. Így persze lehátaztam, amikor az LG nem tudott alapból linearizálást. Meg kellett írnom rá.
Ezért is választottam az asm.-et. Mivel mindent nekem kell létrehozni, nem ér meglepetés, ha valami nincs.
(#) sonajkniz hozzászólása Szept 11, 2016 /
 
Sziasztok!

Van valakinek tippje arra, hogy az MPLAB X fordító miért nem fogadja el PIC12-es estén az az értékmegadási formát, amit PIC18-nál? Pedig ez az macro csak a fordítót érinti, nem az adott PIC-et.
  1. ERTEKADAS    MACRO    SZAMJEGY,HOVA1,HOVA2
  2.         MOVLW   HIGH    SZAMJEGY
  3.         MOVWF   HOVA1
  4.         MOVLW   LOW    SZAMJEGY
  5.         MOVWF   HOVA2
  6.         ENDM
(#) nedudgi válasza sonajkniz hozzászólására (») Szept 11, 2016 /
 
Mi a hibaüzenet?
(#) sonajkniz válasza nedudgi hozzászólására (») Szept 11, 2016 /
 
Ezt írja ki:
Idézet:
„Error[124] D:\PIC-ES DOLGOK\KISERLET_PIC12.X\DONCI_IDOZITOJE_5.ASM 87 : Illegal argument (expected single character)
Error[124] D:\PIC-ES DOLGOK\KISERLET_PIC12.X\DONCI_IDOZITOJE_5.ASM 89 : Illegal argument (expected single character)”
(#) nedudgi válasza sonajkniz hozzászólására (») Szept 11, 2016 /
 
A gond ott lehet, ahol meghívod. Mi a makró első paramétere?
(#) sonajkniz válasza nedudgi hozzászólására (») Szept 11, 2016 /
 
ERTEKADAS '365',IDO2_H,IDO2_L
(#) nedudgi válasza sonajkniz hozzászólására (») Szept 11, 2016 / 1
 
Az '365' helyett elég a .365 kifejezés. AZ aposztrófok között egy karaktert vár, hosszabb string esetén idézőjel közé kell tenni, ha jól emlékezem. Ebben a formában nem numerikus értéket adsz meg. Van a decimális értékekre is ilyen aposztrófos forma, de azt soha nem használtam.
(#) sonajkniz válasza nedudgi hozzászólására (») Szept 11, 2016 /
 
Köszönöm!
Így valóban működik, de közben rájöttem, hogy hol rontottam el. Kimaradt a D a '365' elől.
Viszont biztos, hogy áttérek a te javaslatodra. Egyszerűbb.
(#) sonajkniz hozzászólása Okt 15, 2016 /
 
Sziasztok!

Van valakinek arra valamilyen elképzelése, hogy mi válthat ki a PIC-ben olyan szintű resetet, hogy a RAM tartalom is törlődik?
Én eddig úgy tudtam, hogy a RAM-ok csak áramkimaradástól tudnak törlődni. Az pedig jelen esetben elég valószínűtlen, mert a tápfesz csökkenése egy mentési folyamatot indít el, ami viszont nem következik be ilyenkor.

A válaszokat előre is köszönöm.
(#) Bakman válasza sonajkniz hozzászólására (») Okt 15, 2016 /
 
Lehet, hogy erős elektromágneses zavar keletkezik a közelében, esetleg olyan mértékű és sebességű a tápfesz. változás, hogy nem tud a kontroller reagálni.
(#) nedudgi válasza sonajkniz hozzászólására (») Okt 15, 2016 /
 
Nem lehet egy sima programeltévedésról szó?
Következő: »»   14 / 32
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