Fórum témák
» Több friss téma |
Megnéztem a CMCON registert, de sajnos nem hozott eredményt.
Nem tudom H szintre emelni az RA4-et. További ötlet? A hozzászólás módosítva: Aug 30, 2014
Nem látom a programodat...!
ADCON1 be van állítva ?
Az init() így néz ki.
Csak a lábakat állítgatom.
Utána LATA regiszterrel szórakozom, de csak L szintet enged, ha H szintre állítom akkor inputként definiálja. A hozzászólás módosítva: Aug 30, 2014
Szerintem CMCON = 0; helyett CMCON = 7; lesz a nyerő!
Természetesen próbáltam és sajnos ugyan az a szitu..
Nem tudom mire gondolsz, de már átnyálaztam teljesen de sikertelen a kísérlet..
Van konkrét ötleted a beállításra?
Ez így megy ( szimulátorban néztem ! ) !
Csatoltam az eredményt.
Nem működik sajnos. Szívok vele rendesen... A hozzászólás módosítva: Aug 30, 2014
Ennek jónak kell lennie, mert az MPLAB-ban megy! Gond csak a konfigurációs bitekkel lehet, amit a Proteus tudtommal figyelembe vesz, míg az MPLAB nem ! Azok hogy állnak ?
szerk.: Úgy látom, hogy fut a program a proteusban ( a kék szín a kimenetet v. alacsony szintet jelez ?) !! Amennyiben igen, akkor próbáld ki élesben, mert lehet, hogy "bugos" ! A hozzászólás módosítva: Aug 30, 2014
Jaja pont ahogyan mondod..
Vagy kimenet vagy L szint. Én is erre kezdek gyanakodni, ha csak nem valamelyik konfigurációs beállításom szól be a hibás működésbe. Átnyálazom azokat is és majd meglátom.. Köszi a segítséget...
Annyit módosítottam, hogy LATA4 az villogni fog.. vagy is villognia kellene..
A hozzászólás módosítva: Aug 30, 2014
Ez működik ( a késleltetést nem tudtam kivárni , de a többi jó! ) !
szerk.: megnéztem, az is jó! A hozzászólás módosítva: Aug 30, 2014
Sajna nem. Nekem úgy tűnik az a helyzet, hogy a 24C04, 24C08 és 24C16 esetében az eszköz címzésére (is) használt első bájban kell megadni a megcímzett memória címének felső bitjeit.
Ennek egyszersmind az a következménye, hogy a 24C04 cím bájtja 1010AACR formátumú. Ahol R az írást vagy olvasást jelenti, C-ben van a 9. címbit, mert ugye 512 byte (4kbit) címzéséhez már 9 bit kell. 1010 meg a memóriaeszköz alap címe. AA-n meg beállítható egy saját cím, amivel így 4 chip közül lehet választani. Na most 24C08 esetében 1010ACCR a formátum, hiszen itt már 10 bites a címbusz, de még mindig marad egy bit az eszköz kiválasztására. 24c16 esetében vége a dalnak, ott 11 bites cím miatt nincsen lehetőség a chip egyedi címének beállítására. A chip adott lába pedig, (hogy ne maradjanak kihasználatlanul) Vdd-re kötve protected módba állítják a megfelelő memórialapot. olyan 24CXX esetében ahol XX>16 a három bit már egyébként sem lenne elég, ezért ott az a három bit megint csak használható a chip megcímzésére (így egyetlen I2C buszon 2^3 db ilyen eszköz használható) a memória címzést meg úgy oldották meg, hogy külön byte-ban el kell küldeni a cím felső bitjeit. A PCF8583 egyetlen bitet tart fent az eszköz kiválasztásra. De az is a legalsó. A cím byte itt: 1010xxCR formájú. Olyan 24CXX-el lehet tehet csak egy buszon használni, amelyik címbusza maximum 8 bites (24C02, 24C01) vagy amelyik címbusza több mint 11 bites. 24C32 stb. Kivettem a PCF8583 mellől a 24C16-ot. Szerencsére tokot forrasztottam be. Persze mindennek akkor kellett volna utána néznem mikor...most már mindegy. Viszont a PCF8583 óra chippel is gondom van, de azt egy másik bejegyzésbe... Minden esetre kösz a válaszodat, és kösz, hogy foglalkoztál a dologgal. Nekem ST-s chipem van. Az tuti így működik és a Microchip-es is. Az AT-nál nem tudom mi a helyzet. L. A hozzászólás módosítva: Aug 30, 2014
Valamit elnézel! I2C-nél először megcímezzük az eszközt ( ez általában 7 bites + R/W ) és utána jöhetnek a parancsok, a memóriacellák címzése, ami pl. 11 bitnél 2 byte! Nézd át újra az adatlapot!!
A hozzászólás módosítva: Aug 30, 2014
Bosszantott a dolog így én is összedobtam egy tesztpanelt.
Tényleg működik, a szimulátoromban valami bug lehet ami miatt nem akarta az igazságot. Köszi a segítséget és a tesztet.
Nem hinném, hogy elnéztem.
Igazad van, nem néztem meg előtte az adatlapot, csak emlékből írtam ( az úgy működött, csak az nagyobb memóriaméretű volt!) !
Teljesen igazad van. A 16 felettiek úgy működnek, ahogy írtad. Jó sokat szívtam, mert én is azt hittem, amelyik 8 bitnél szélesebb adatbusszal rendelkezik, mind úgy működik, ahogy Te is írtad. Hogy külön lehet címezni a memóriát meg az eszközt, de nem. Hogy miért...??? Értelmetlen dolog szerintem. Biztos valami kompatibilitási megfontolás miatt tartották az eszköz fejlesztői jó ötletnek.
A hozzászólás módosítva: Aug 30, 2014
Így nem az adatokból kell "kihalászni" a block váltó biteket, ezért egyszerűbb lehet a dekódoló ! Ezek kisméretű EEPROM-ok, úgy gondolták, hogy vegyél nagyobbat, ha nagyobb tárra van szükséged ! Ott lehet azért kellett a váltási lehetőség, mert a technológia még nem volt meg a nagyobb kapacitásokra és akkor többől kellett összerakni ( ez csak ötletelés ! ) !
A hozzászólás módosítva: Aug 30, 2014
Igazad lehet, csak ezzel megszívatták azokat, akik a 24C04/08/16 memória mellett más eszközt is használni akarnak ugyan azon az I2C buszon. Pl. engem.
Ezen kérdéseim már nem aktuálisak..
Ha már kipróbáltam az A4-es bit működését gondoltam kipróbálom a pergésmentesítést is, hogy miért akassza le a szimulátort. Összekábeleztem és hardveren sem ment. Addig-addig agyaltam még rá nem jöttem, hogy gyakorlatilag a beállított és nem bekötött (memória) SPI portok miatt akadt le a program. Nem találta a Memóriát Most bekötöttem mindent amit a program megkövetel és voalá Működik....
Egykori Aug 15 körüli problémára, kibírják-e 0v tápfesz mellett a pic32-esek a lábaikon beérkező 3.3v-ot.
AZoli külön kérésére jelezném, hogy mostanra már jó sokat használtam pic32mx795-ösöket (sparkfun-ék bitwhacker-jei) fixen összekötve, és gyakori eset volt, hogy egyik-másik tápfesz nélkül lógott rajta a másik vonalain. Részemről úgy tapasztaltam, nulla probléma van vele. Valószínűleg az összes pic32-es kibírja bármelyik 5v tolerant pin-en 0v tápfesz mellett, ha egy másik zargatja 3.3v-os jelekkel.
Sziasztok!
Egy aprócska gondom van, mégpedig hogy sehogy sem bírom működésre bírni a pic32-met, pedig mindent a dokumentáció alapján csináltam, Idézet: „The following is a list of pin names, which must always be connected: • All VDD and VSS pins (see Section 2.2 “Decoupling Capacitors”) • All AVDD and AVSS pins (regardless if ADC module is not used) (see Section 2.2 “Decoupling Capacitors”) • VCAP/VCORE (see Section 2.3 “Capacitor on Internal Voltage Regulator (VCAP/VCORE)”) • MCLR pin (see Section 2.4 “Master Clear (MCLR) Pin”) • PGECx/PGEDx pins used for In-Circuit Serial Programming™ (ICSP™) and debugging purposes (see Section 2.5 “ICSP Pins”) • OSC1 and OSC2 pins when external oscillator source is used (see Section 2.8 “External Oscillator Pins”)” Mellékleben lévő két kép tanúskodik erről, egy a kapcs rajz, másik meg az összekötés. 28 milliószor leellenőriztem a bekötést, a felprogramozás megy, kiolvasás megy, de mikor ráadom pickit2-ről a tápfeszt, semmi nem történik. Elvileg az RE6-os lábat kellene villogtatnia. Beírnám a kódrészletet is, ami ezért felelős tulajdonképpen más nincs is a programban...
Valószínűsítem, hogy valamit a programban nem állítottam be, és azért nem akar életre kelni. Valamint még kipróbáltam azt is, hogy a kijelző OutputEnabled lábát közvetlen a 3,3V-ra kötöm, és úgy működik is. Ebben kérném a segítségeteket. Köszönöm! Szerk.: Méricskéltem, amikor le vagyok földelve (azaz hozzáérek a PCtáp burkolatához), akkor folyamatos 0.6V-ot mérek a közös föld és a kimenet között, amikor meg nem érek hozzá akkor meg 4,8V-ot A hozzászólás módosítva: Aug 31, 2014
Szia!
Látom ha jól látom HS van beállítva a programba de én nem látok kvarcot a kapcsolási rajzon.
Belső oszcillátort használom, a 8 MHZ-eset, és azt tolom fel 80 MHZ-ig PLL-lel. De akkor ezek szerint nem HS-nek kell lennie?
Én se vagyok egy nagy szakértő csak lelkes amatőr. Szerintem próbáld meg másik félével nem a HS-el hátha jó lesz.
|
Bejelentkezés
Hirdetés |