Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   55 / 1319
(#) Moderátor hozzászólása mokus hozzászólására (») Júl 18, 2007
 
mokus! És többiek!

Remélem olvassátok majd ezt a hozzászólást!

Bármely korábbi hozzászólásra oly módon lehet hivatkozni, hogy DUPLA KATTINTÁSSAL ráklikkeltek az adott hozzászólás szürke fejlécén szinte bárhova, és ilyenkor egy új kisablak nyílik meg, ami tartalmazza a hozzászóláshoz vezető hivatkozást! Ez már másolható pl. vágólapra, és lehet vele munkálkodni, beilleszteni link-ként, stb...
(#) mokus válasza (») Júl 18, 2007 /
 
hűűű ha ennek lenne egy pici ikon ami esetleg rögtön vágólapra is másolja...
Nem ismertem ezt a funkciót! Köszi a felvilágosítst!
(#) tibcsi válasza watt hozzászólására (») Júl 18, 2007 /
 
Hello!

Koszi a valaszokat.
Meg mindig nem sikerult az SPI kapcsolat a potival.
Legyszives nezzetek meg a progit, lehet abban van valami egetvero baki.

spi.txt
    
(#) watt válasza tibcsi hozzászólására (») Júl 18, 2007 /
 
Ez egy részlet, vagy ennyit írtál az MPLAB-ba?
(#) Csaplar hozzászólása Júl 19, 2007 /
 
Sziasztok!

Kértétek, hogy írjam be, mivel sikerült múltkor behülyítenem a picet! Hát egy kicsit szégyenllem, de én simán azt mondtam, hogy char x = 0x000000001; (9 bit)
Nem vettem észre, hogy csak 8-at kaphatott volna.

Viszont most megint elakadtam.

24LC256-os memóriát akarok írogatni és olvasgatni. Ehhez készítettem, meglevő minta alapján egy lib-et, amit meghívok egy főprogramból. A lib tartalmát mellékelem is nektek!

A problémám az, hogy ha sokszor meghívom egymás után a Number_write(...) metódust, akkor már nem is fordul le a progi. Ilyen Can not fit the Section-os hibákat dob vissza.
De azaz érdekes, hogy írtam egy teljese eeprom reset-et is, amiben ugyanezt a metódust sokkal többször meghívom, és ott működik.

Mi lehet a baj? Alaphelyzetben működik a dolog, mert ha csak egy- két adatról van szó, akkor azt szépen írom és olvasom is. De ha már 10-es nagyságrendről, akkor nem.
Nem ürítek valamit? Vagy valamiért nem helyesen kezelem az I2C-t ???

Van ötletetek?


Előre is Köszi!

Üdv:
Zoli

myEEPROM.zip
    
(#) potyo válasza Csaplar hozzászólására (») Júl 19, 2007 /
 
Ez milyen fordító? 0x-el a hexadecimális számokat szokás jelölni.
(#) tibcsi válasza watt hozzászólására (») Júl 19, 2007 /
 
Hi!

Egy programbol ez egy reszlet, ami SPI-al foglalkozik.
Termeszetesen a port-ok es egyeb fontos be van allitva.
Amit igazan nem ertek:
SSPSTAT regiszter BF bit-je a doksi szerint 'Buffer full status bit, receive (spi and i2c modes) '
azaz ez a fogadott adatokat figyeli nem??

Ha igen akkor mivel figyelem hogy az elso bajtom kiment a SSPBUF-bol?
(#) watt válasza tibcsi hozzászólására (») Júl 19, 2007 /
 
Semmivel, az kimegy és kész! Mit figyelnél rajta?

Az SMP bitet úgy állítottad be, hogy az adat végénél olvasódik be, próbáld meg a másik módot is!

Az eszközöd ugyanazt az órajelélt használja amit beállítottál? (adat az emelkedő élnél kerül ki)
(#) tibcsi válasza watt hozzászólására (») Júl 19, 2007 /
 
Figyelnem kell, mivel 2 byte-ot ( parancs, adat ) kell kikuldenem a potinak egymas utan.
Gondolom azt csak ugy tudom ha latom hogy az elso mar kiment, es johet a masik.

Probaltam a masik modot is.

Ugyanaz az orajel.
Felfuto elnel van az adat atvitel a potinal.igy allitottam be a pic-et is.

Lehet hogy a hoseg miatt, de nem birok rajonni a hibara.
(#) potyo válasza tibcsi hozzászólására (») Júl 19, 2007 /
 
Idézet:
„Gondolom azt csak ugy tudom ha latom hogy az elso mar kiment, es johet a masik.”


Van egy ilyen az adatlapban:

Any write to the SSPBUF register during transmission/reception of data will be ignored and the Write Collision detect bit, WCOL (SSPCON1<7>), will be set. User software must clear the WCOL bit so that it can be determined if the following write(s) to the SSPBUF register completed successfully.


Tehát ha 16 vagy több bitet akarsz írni, akkor beírod a következő bájtot az SSPBUF regiszterbe, és ha a WCOL bit bebillent, akkor meg kell ismételned az írást.
(#) Sanyi87 hozzászólása Júl 20, 2007 /
 
Hali
lenne egy kérdésem..méghozzá..a kivonásnál (SUBWF)..csak a STATUS reg.nek a DC C ÉS Zjelzőbitjeit állítja..?? mert nekem arra lenni szükségem h 2 regiszterből ki tudjam választani h melyik a nagyobb (végigszkenelhetnék adott értékeket de az tök lassú lenne....) ill kisebb..jah PIC16F84A-st progizok..gondolom h rögtön mondani fogjátok..h álljak át vmi jobbra.....tervezem is...folyamatban(16f877) ...köszi
(#) Sanyi87 válasza Sanyi87 hozzászólására (») Júl 20, 2007 /
 
bocsi..pontosan arra lennék kíváncsi..h ha pl.3ból..kivonok 5öt akor mi fog beíródni a regiszterbe..v az akkumulátorba....szal a negatív számokat tudom "érzékelni"..?
(#) DINI hozzászólása Júl 20, 2007 /
 
Sziasztok én még kezdő vagyok PIC - ek programozásában és problémába ütköztem. A probléma az lenne, hogy építettem egy kis JDM programozót. A programozó szoftverek közül A PONY PROG - ot használom. Az igazi probléma az, hogy programozás után a visszaolvasás a PIC - ből sikeres, de mikor beleteszem az áramkörbe a PIC egyáltalán meg se mukkan. Hardverilag nem hiszem,hogy volna valami probléma minden szépen be van kötve 100nf - os kondi közvetlenül a táp lábakon, egyszóval már beleőrülök, mert nem tudom mi lehet a hiba. Kérlek segítsetek ,nagyon fontos lenne.
Mellékelem azt a programot,melyet beszeretnék égetni,ez egy egyszerű primitív kis program.

7display.asm
    
(#) Andrew93 válasza DINI hozzászólására (») Júl 20, 2007 /
 
Szia!

Hogy tudsz beolvasni PIC-ből ha berakod és fel se ismeri?
Nem egészen értelek
(#) mokus válasza Andrew93 hozzászólására (») Júl 20, 2007 /
 
fordítok neked, hogy értsd:
Felprogramozza a PIC-et, visszaolvasás OK
Égetőből átteszi a céláramkörbe és ott meg sem mukkan.
Szerintem a program mellé a céláramkör rajza sem lenne rossz, mert így nehéz lesz minek kellene működni és minek nem...
(#) Andrew93 válasza mokus hozzászólására (») Júl 20, 2007 /
 
Áh.....értem.Köszi a felvilágosítást.Amúgy mokusnak igaza van:Kellene kapcs. rajz :yes:
(#) Medve válasza Andrew93 hozzászólására (») Júl 20, 2007 / 4
 
Addig is a kvarc lábain ellenőrizd, hogy megvan-e az órajel, vagy hogy nem tartja-e az áramkör resetben. Én ugy írom a programjaimat, hogy az elején felvillant egy ledet, vagy egyéb módon jelzi, hogy a program fut. Ez hasznos lehet néha.
(#) DINI hozzászólása Júl 20, 2007 /
 
Tessék itt a rajz,kérlek nézzétek át és ha találtok valami hibát benne, kérlek szóljatok. Ayt hogy ellenőrizzem,hogy akvarc lábain megvan- e az órajel,illetve,hogy nem-e tarcsa magát RESET- ben a proci?

7display.rar
    
(#) szabi_o válasza DINI hozzászólására (») Júl 20, 2007 /
 
Korlátozó ellenállások nélkül bekötni a ledeket, meg 68K-s lehúzó ellenállások...
Ha tudsz egy kicsit angolúl, a figyelmedbe ajánlom EZT
(#) pbalazs válasza DINI hozzászólására (») Júl 20, 2007 /
 
Tudom, hogy nem illik kijavítgatni a másikat, de ez azért túlzás:
Idézet:
„nem-e tarcsa magát RESET- ben”
(#) Medve válasza Medve hozzászólására (») Júl 20, 2007 /
 
Nos igen, a portok kimeneti áramát illik korlátozni!!!! Az órajel meglétét egy frekvenciamérővel ellenőrizheted, vagy ha nincs készítesz egy neked tetsző kristályvizsgáló kapcsolást, azzal tudsz detektálni 20MHz-es jelet. (az 1nF-ra kötöd a kérdéses lábat) Szabi! Szerinted kibírta a port?
U
(#) mokus válasza DINI hozzászólására (») Júl 20, 2007 /
 
Én inkább így csinálnám...
(#) tibiiii00 hozzászólása Júl 20, 2007 /
 
Ezt nézd meg a javított kapcsolással.
ha a PORTA,0 ra kötött kapcsolót bekapcsolod akkor világít az összes led ha kikapcsolod akkor nem világít egyik sem.

teszt.asm
    
(#) Medve válasza mokus hozzászólására (») Júl 20, 2007 /
 
Mókus! Miért az a dióda a 4. lábon?
(#) nemo hozzászólása Júl 20, 2007 /
 
Hali!

A II. PIC es cikkben van leírás az optikai kapukról, ezzel kapcsolatban lenne kérdésem:
Hogyan lehet kezelni azt a fajta optikát, ami az egér scrollernél van?

Mert ott egyik oldalon van a fényforrás, másikon az érzékelő, és köztük a résekkel ellátott lapka forog. Tehát nincs 2 fényforrás-2 fototranyú, hanem csak egy van.

Köszi!
(#) DINI hozzászólása Júl 20, 2007 /
 
Köszönöm a tanácsotokat, de már megoldottam a problémát. A probléma az MCLR lábbal volt,nem volt jó érintkezésem és ez nem indította a PIC - et. Nos akkor tisztázzuk: ha az MCLR lábra logikai 0 kerül pl. föld, ez folyamatosan RESET - eli a mikrovezérlőt, tehát a program megvan gátolva a program lefutásában., ha viszont logikai 1 - est kötünk az MCLR lábra,akkor a RESET elveszti tulajdonságát és a PIC szépen teszi amit kell,feltéve,ha jó a szoftveros rész. Szóval én beleestem a saját hibámba, ezért ez a példa legyen mindenkinek jó arra, ha valamit csinálunk, akkor ellenőrizzünk át mindent a lehető legtöbbször. MEDVE hozzászólalását elfogadom megoldásnak. Köszönöm a segítséget mindenkinek, jó hogy vannak még olyan elektronikusok, akik nincsenek eltelve a tudásukkal és segítőkészek. :awink:
(#) mokus válasza Medve hozzászólására (») Júl 20, 2007 /
 
Mert I/O is viselkedhet tudtommal.
(meg megszoktam én mindig oda teszem...)
(#) Medve válasza DINI hozzászólására (») Júl 20, 2007 /
 
Köszönöm a pontot, Úgy működik, ahogy mondtad, a mellékletben feltüntetett kapcsolást szoktak a RESET lábra tenni, akkor, ha a tápfesz növekedése viszonylag lassú. A bekapcsolástól számítva egy ideig resetben tartja a chipet. (Nálam plusz egy eset gomb is van) Még néhány jótanács, :
---Az ember kezébe néha akadhat nem berezgő kvarc...
---Ügyelj a bankváltásokra
---Kontakthibákra!
---movfw<->movwf összetéveszthető
---Soros beolvasás közben időrabló tevékenységet
ne végezzünk

Ui.: Mókus! a 4.láb csak reset vagy a programozásnál használandó...tudtommal...

reset.jpg
    
(#) watt válasza Sanyi87 hozzászólására (») Júl 20, 2007 /
 
3-5 = 254 azaz FEh
A C-bit kivonásnál akkor 0, ha az eredmény alulcsordult, azaz a fenti példánál is az lesz.
Ha azt akarod vizsgálni, hogy a kivonandó nagyobb-e mint a kissebbítendő, akkor a kivonaás után a BTFSC STATUS,C használatával át tudod ugrani a következő programsort. Ha nem nagyobb, akkor nem ugrik.
(#) watt válasza nemo hozzászólására (») Júl 20, 2007 /
 
A réselt tárcsán a rések egymás után fogják kitakarni az érzékelőket. Ennek sorrendjét lehet érzékelni, így el lehet dönteni merre forog a kerék.
Következő: »»   55 / 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