Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem csak ma nem megy, napok óta vacakol.....elég ciki,hogy ennyi idő alatt sem voltak képesek megcsinálni
Tegnap se mukodott
Hetvege van!
Microchip errata oldala bejott.
No records MCP4661 de MCP46 kezdeture se, MCP4 eseten csak MCP42010
A hozzászólás módosítva: Dec 8, 2013
Szoval senki nem igazan tud magyarazatot egy dupla eszkoz (nem 1 darabrol van szo!) egyik fele miert nem mukodik megfeleloen. Egyenlore a Microchip supportnak sincs lovese.
- Az első NV regiszter írása után kivárod a Twc időt?
- A Twc idő alatt nem kezdeményezel más regiszterből való ilvasást / írást? Csak a 0, 1, 4 ,5 címekre lehet. - A második NV regiszter írása külön tranzakcióban történik? Újra adsz ki Start állapotot?
Hol olvastál erről:
Idézet: „...alapertelmezesben a potik nem irasvedettek.” Ugyanis az adatlapban ha megnézed, a STATUS regiszter WL1, WL0, WP bitjei POR után ismeretlen állapotúak (39. oldal), tehát ha nálad nem írásvédett POR után, akkor szerencséd van. Lehet, hogy rosszul értelmezem amit írtál: Idézet: „...MCP46xx pictail plus kartyan levo is ami eleve az Explorer16 fejlesztokartyahoz valo, a peldaprogram is arra irodott es az 1-es oldalon tokeletesen muxik az NV regbe iras. Azon sincs direkt aktivalva a HV parancskeszlet...” S akkor következőkkel is tisztában vagy, de a MCP46xx pictail plus kártyán az U1-es multiplexerrel (MAX4582L) állítható be a HVC, s bár nem néztem meg a teljes minta programot (csak azt amit te csatoltál), de elképzelhetőnek tartom, hogy valahol engedélyezi vele az NV írását. Ha ennyire nincs idő beüzemelni és kiíratni az értékeket egy LCD-re akkor én a helyedben egy teszt erejéig a "Read Status" után megállítanám a programot és megnézném mit adott vissza rá. Azért azt kicsit furának találom, hogy mivel a project nem barkács jellegű, és hiba esetén senki sem kíváncsi a problémás alkatrész státuszára, annak a lekérdezése szerintem még egy hobby projectnél is az elsők között van.
Szia! Köszi! A végén úgy oldottam meg, hogy leválasztottam a Vdd-t és a céláramkörön a táp mindig be van kapcsolva. A PK2 nem tiltakozik, hiszen a saját Vdd-je megvan.
Kicsit már bánom, hogy új típussal próbálkozom(debugger hiánya), volt még pár apró gondom, de alakul. Szerk: Közben látom, hogy a következő hozzászólásodban pont ezt jelezted... A hozzászólás módosítva: Dec 9, 2013
Ma már működik a Microchip oldala: Fórum bejegyzések az MCP4661 -ről...
Minden ugy van, ahogyan a nagykonyvben meg vagyon irva. Ertem ezalatt a kesleltetesek, a megfelelo szamu ismetles, stb stb, es nem altalam irt, hanem a Microchip sajat maga. Esetleg elkerulte a figyelmedet, de itt arrol van szo, hogy egy peldaprogram lett modositva, megpedig ugy, hogy az eredetileg csak egy oldalt kezelo mostmar kepes mindketto oldalt kezelni, es ezek egymastol teljesen fuggetlenek, mert reset utani valasztas mondja meg melyik oldal lesz kezelve. Mindezektol fuggetlenul egy ket felbol allo program, amely mindket fele azonos, ertelemszeruen a command byte-ok az oldalnak megfeleloek, ES ennek ellenere az egyik programfel helyesen mukodik a masik nem. Nem sertesnek szanom, de nem igazan tudom ertelmezni, amikor olyan kerdesek merulnek fel, mintha egyaltalan nem mukodne. Gondolom nem toltotted le es olvastad at a feltoltott forraskodot. See #1544363
Mindenesetre koszonom a faradozasotokat.
Olvastad? There is no record to display marmint a linkeden. Viszont fomenubol kivalasztva lathato az en hozzaszolasom valasz nelkul
A hozzászólás módosítva: Dec 9, 2013
Valamikor napközben volt néhány találat, én is megnyitottam a linket. Nemtudom, most mi van.
http://www.microchip.com/forums/fb.ashx?m=761925
A hozzászólás módosítva: Dec 9, 2013
Érdekes dolgokat produkál a 18F14K50. A C porton van egy LCD, alsó 4 biten a vezérlések 2 biten, meg egy relé és az RS485 illesztő irány vezérlése, a felsőn a 4 adatbit. Ha úgy maszkolom, hogy a PORTC-t használom, törlődnek az alsó részen élő bitek. Ha LATC-t használom, akkor nem. Próbáltam úgy is, hogy nem közvetlenül a portot maszkolom, hanem előbb áttöltöm egy változóba. Természetesen van idő a beállásra és nincs terhelve a port. A szimulátorban működik. Nem néztem még az erratát, mert átugrottam a dolgot, de más PIC-en ez nem okozott problémát eddig, ugyanazt az LCD rutinjaimat használom...
Szia!
Nem tudom pontosan, hogyan állítgatod a portot, bitenként maszkolod-e, ami alatt azt értem, hogy beállítod az egyik bit maszkot pl.: PORTC &= 0xEF; majd a következő sorban a következőt PORTC &= FE; Ugyanis nálam dsPIC33EP-nél leírtakhoz hasonló problémám volt mikor bitenként állítgattam a portot. A 18F adatlapjában nem találtam azt ami a dsPIC33 adatlapjában megtalálható, csatoltam. Vagyis, mikor a második bitet akarod beállítani, a PORTC "parancs" kiolvassa a port C valós állapotát ami ekkor még nem éri el a magas szinthez szükséges feszültséget, így ezt annak ellenére, hogy előtte már beállítottad nullának fogja tekinteni és ezt használja fel a második bit beállításához, így elveszett az első beállítás. A LATC "parancs" nem így működik, ez a parancs nem a port C "valós" állapotát vizsgálja, hanem a latch regiszter állapotát. Persze nem biztos, hogy nálad is ez a probléma, de olyan PIC-ek esetében ahol van latch regiszter, a port írását ajánlott a LATx-el végezni, még az olvasást a PORTx-el.
Szia!
Írtam, hogy van idő a beállásra, a hibakeresés közben direkt várakozást tettem, hogy az RMW-t kizárjam. (Egyébként nem lehet "bitenként maszkolni", ez így kizáró ellentét. Lehet egy bitet maszkolni, de az nem bitenkénti művelet.) Ismerem a portok működését, ezért is lepődök meg ezen, mert más PIC-ek ezt nem produkálják. Szerencsére itt nem külső források határozzák meg a PORTC értékét, hanem belső, ezért lehet használnom a LATC-t, különben bajban lennék. Ha lesz időm, kiderítem mi ennek az oka... A hozzászólás módosítva: Dec 10, 2013
Udv!
Kovetkezo problemaba utkoztem, hatha tud valaki segiteni a forumon. Adott egy ASM kod (ITT), egy nepszeru LCD-s frekimero (Francesco Morgantini alkotasa). PIC16F84 ketyeg benne 4MHz-en es egy 16x1 HD44780 kompatibilis LCD-n jeleniti meg a mert frekvenciat a kovetkezo formaban: "Frecv.:49.999.75" Azt szeretnem elerni, hogy a megjelenites a kovetkezokepp alakuljon: " 49.999.75 MHz " A problema egyszerunek tunt, de kifogott rajtam. El tudtam tuntetni a Frecv szoveget es sikerult kiirni az MHz-t. A poziciojat is beallitottam, de a freki erteket nem tudom az LCD kezdocimere allitani. Megkoszonom, ha valaki tud 1-2 tippet adni, hol kell turkaljak a kodban...
MpLab 8.9x felhasználók!
Nem hiányzik senkinek sem a Watch alakból a WREG és a STKPTR a Midrange kontrollereknél? Amennyiben az "MPLAB IDE/Devices" mappában a Midrange kontrollerek dev állományait kiegészítjük / módosítjuk az alábbi alábbi résztettel, megjeleníthetők ezek a regiszterek is a Watch ablakban... Egyszer réges-régen még jó volt....
Mintegy 160 állományban kell csak javítani. Egy jobb cég kiadott volna egy javítást... Kezdek arra gondolni, hogy ezzel is az MpLabX felé terelik a felhasználókat.... A hozzászólás módosítva: Dec 10, 2013
Idézet: Nekem is gyanús a dolog. Most figyeltem fel rá, hogy az MPLAB újabb verziói direkt lassabban indulnak el a szükségesnél, mint a régebbiek, ugyanilyen célból... „Kezdek arra gondolni, hogy ezzel is az MpLabX felé terelik a felhasználókat....”
Lelassítják az X szintjére az egészet? Az XC8, C30 meg hibás kódot fordít, gyönyörű...
Hogy lassan indul, az még elviselhető lenne, de az új lassabban is működik:
MPLAB X - C18 - PICKIT3 - 18F2431: fordítás + letöltés kb. 20 sec. MPLAB 8.8x - C18 - PICKIT3 - 18F2431: fordítás + letöltés kb. 5 sec. Természetesen ugyanaz a forrás. Na ez miért van? Kinek jó ez? Vagy én maradtam le valahol?
Szia!
Megvan a titok! Régi szabály, ha valami nem megy olvasd el figyelmesebben a használati utasítást! Ennél a PIC-nél a bemeneti puffer alapértelmezésben ki van kapcsolva, azaz analog bemenet felé van állítva a bemeneti multiplexer. Ezért volt hamis a port beolvasásának értéke, ami elrontotta a logikai művelet eredményét. Igazából nem azért jöttem rá, mert ezen törpöltem, hanem azért, mert nem akart menni az RX vétel (se). Kicsit morcos voltam már és azt néztem mivel van még kapcsolatban a láb. Az AD-hez érve olvasom, hogy "Configure pin as analog". Mivan?! Ezt meg hol kell? És akkor látom, hogy külön regiszterek vannak erre. Akkor esett le, hogy a PORC sok lába is ebben a cipőben jár. Köszönöm, hogy foglalkoztál vele!
Hát én azt hittem, hogy ezen túlvagy, hogy az analóg bemeneteket már letiltottad. Nekem rögtön ez ugrott be, de mondom nem vagy már kezdő, ezt biztos megnézted már...
De ez nem csak ennél a típusnál van így, hanem minden analóg üzemre alkalmas lábbal rendelkező típusnál. Amin van ADC, az mindig analóg módban indul, és a digitális olvasása a lábnak mindig nullát ad vissza. Vagy legalábbis én még csak ilyennel találkoztam. A megvalósítás az változó, van amikor lábanként külön bit van az analóg-digitális funkció váltására, van amikor adott lábkombinációk vannak, és abból kell választani, de az elv azonos. Vagy itt valami másról van szó? A hozzászólás módosítva: Dec 11, 2013
Jól tudod, mindegyikben van, de eddig csak olyannal dolgoztam, amin nem külön kellett beállítani, elég volt az AD-t letíltani és kész. Az AD-t itt is letiltottam, így ha azt tanácsoltad volna, azt írtam volna, hogy le van.
Ja és az a pikáns, hogy nem az AD-nél tárgyalják az analog lábak beállítását, hanem az I/O-nál. A hozzászólás módosítva: Dec 11, 2013
Nem lehet az ember elég rutinos.
Pont ma jártam úgy, hogy kikotortam a fiókból pár 7-8 éves 16F872-t. Ezer éve nem használtam, de hirtelen jól jött. Ugye ebben nincs ANSEL, az ADCON-okat meg reflexből nullázza az ember. Meg is érdemli. Mire beugrott, hogy ebben az ADCON1 alsó bitjeinél kell kell beállítani a PORTA digitális kimeneteit, széttúrtam a programomat és az ablakon akartam kivágni az egész mindenséget. Elő a doksit és elkezdett olvadni az arcomról a bőr. Anno vagy 30-40 programot írtam 87x-ekre és egyszerűen nem hiszem el, hogy ezt képes voltam elfelejteni. Ez már A kor. Lassan kívülre húzom fel az alsógatyámat is. A hozzászólás módosítva: Dec 11, 2013
Igazsághoz tartozik, hogy a releváns regiszterek között ott van a két kérdéses is, de csak a táblázatban, a kifejtett regiszterek között nincs(persze, mert a portokhoz tartozik ott kitárgyalták). így utólag könnyű már felfedezni. Igazából csak akkor szoktam adatlapot olvasni, ha már nem megy, ez már rossz szokás!
Nekem úgy rémlik, hogy sehol sem volt elég az AD-t tiltani, sőt nem emlékszem olyan típusra, amiben maga az AD konverter nem lenne tiltva alapból, és a használathoz engedélyezni kell. Viszont azok a lábak, amin lehetséges analóg bemenet, azok mindig analóg módban indulnak, a hozzájuk tartozód digitális puffer le van választva, és fixen nullára van húzva, így digitális olvasáskor nullát adnak vissza. De meggyőzhető vagyok az ellenkezőjéről, ha mondasz egy típust, szívesen belenézek az adatlapjába
A hozzászólás módosítva: Dec 11, 2013
Sziasztok. Haladók segítségét kérném, egy kis program változtatásában, mivel én nem értek hozzá.
A gond, hogy a program csak HEXbe van meg, viszont a PIC csak egy kicsi 629-es. Tudna valaki segíteni, és módosítani egy egyszerű programot? |
Bejelentkezés
Hirdetés |