Fórum témák
» Több friss téma |
Szia!
80H--> 128, FFH --> 255, tehát a két érték között 127 érték van ( persze hexadecimálisan kell beírnod, de pl. a windows számológép vagy az excel tudja az átváltást ! ) !
Köszönöm szépen,már kisakkoztam és a 190-es beállítás,Hexadecimálisan a BE lett a jó,és tökéletesen látszik a kijelzés.
Még egy ezzel kapcsolatban,az normális ha a Pic12f629-re írt programot rá tudom tölteni hiba nélkül a 12f675-re és ugyan így fordítva? És mind a kettővel működik a hőmérő. A hozzászólás módosítva: Nov 14, 2015
Nem teljes a kompatibilitás, mert a PIC12F675-ben van ADC is, emiatt az analóg funkciók letiltása a digitális ki/bemenetek inicializálásakor egy kicsit másképp néz ki: PIC12F629-nél elég a CMCON-ba 7-et írni (analóg komparátor letiltása), a PIC12F675-nél az ANSEL regisztert is törölni kell. Adatlapból vett példa:
Köszönöm a válaszodat,akkor marad az,hogy amit a 12f675-re írtak azt töltöm rá és nem a 12f629-es tartalmát.
Nem kevergetem a kettőt. Megnézem,hogy van-e hozzá forrás fájl és ha igen akkor összehasonlítom a kettő közötti különbséget. Kíváncsiságból töltöttem rá az egyik szoftverét a másikra,hogy mit fog csinálni,de mivel a pickit2 nem jelzet hibát és a céláramkörbe behelyezve ugyan úgy működött is,így ezért tettem fel ezt a kérdést. Köszönöm.
12,13 * 16 = 194,08 --> 194 = 0x0C2
28,06 * 16 = 448,96 --> 448 = 0x1C0 Az egész értékbő miért csak a 0. bit marad meg még mindig?
Létezik olyan feature pic-eknél (bármelyiknél), hogy egyszeri programozás után teljesen letiltsak mindenféle újraprogramozást? Mármint egy pickit3-al se lehessen törölni / újraprogramozni.
Szia!
Neked OTP (One-Time Programmable) PIC kell, pl.: 12C672, de mindjárt nézek valami mást.. Szerk.: most hirtelen ennyit tudok írni, illetve a "C"-vel jelöltek általában azt hiszem csak egyszer programozhatók, tehát pl. nem PIC18Fxxx hanem PIC18Cxxx típusúak... A hozzászólás módosítva: Nov 14, 2015
Sziasztok!
PIC16F870-re próbálok egy programot írni, ami egy LED-et villogtat. A helyzet az, hogy a LED egyáltalán nem csinál semmit, már az egész portot 1-be kapcsolom és így sem működik. Mi lehet a probléma? MPLAB X-ben XC8-al fejlesztek.
Szia!
Ezt én sem értem. Nem tudom mit kellene csinálni.
Meg kellene vizsgálni a jelalakokat. Logikai analizátor funkció a PICkit2 -ből. Sajnos egy meghajtóra is szügség lesz, mert az I2C nyitott kollektoros jeleket használ, a PICkit2 -ben pedig 4k7 földre húzó ellenállás van a PGC és PGD vonalon.
Pl 32MZ család bármelyik tagja, ha a konfigurációban beállítod a kódvédelmet és letiltod a JTAG elérést. Örökre vasalva...
Az egyéb beállításokat hol végzed el?
Hiányzik pár regiszter amiket be kellene állítanod és utána a while ciklus elé de a main után a TRIS? regiszter után állítsd magas szintre a C portot.
Ha C PORT magas szintre kerül utána lehet bonyolítani A hozzászólás módosítva: Nov 14, 2015
Pontosan mely regisztereket kell még beállítani a Tris és a PORT előtt azokon kívül amit felsoroltál?
Éppen nézem pic32mx-re otp, és nem találok olyat. Kérdés.
Ha beállítom a teljes bootflash és programflash védelmet egy programozás során 32mx-en, azt a magot akkor programoztam utoljára? Be van vasalva és puszi? Még sosem próbáltam ki, és a lehetséges kimenetel tekintetében előbb inkább megkérdezem Vagy csak a 32mz-ken van olyan? Gyors adatlap (a csökkentett adattartalmú, atfogó doksit szedtem le hirtelenjében) átfutás során nem találtam róla külön említést, hogy valami abban a tekintetben más lenne, mint az mx-eken, de könnyen lehet, csak elkerülte a figyelmemet.
PIC32MX***EC Errata 28. pont. Ugyan azt állítja, hogy csak az A3 verziót érinti, de itt van az asztalomon egy A4, amihez nem csatlakozik a PICkit3 (és a PICkit2) sem.
Miért nem elég a kiolvasásvédelem? A hozzászólás módosítva: Nov 14, 2015
Ugyan a 16f családban nem vagyok otthon, de ha az a/d-t nem használod, illik kikapcsolni:
Ahogy nézem az adatlapon, a c3, c4, c5 a világon semmivel sem kellene, hogy ütközzön, azokra mértél rá? Időnként meg tud viccelni a multiméterek mérőtüskéje, ha forrasztottad a lábat, és kirakódott a tetejére a gyanta. Francot se fog mérni konkrétan Sokkal jobb egy soros ellenállással ledet bekötni. Pld egy átmérő 3 mm-es ledet a plussz táp felé bekötni 3.3k-val. Másik tipp. Gyanakszom rá, hogy valami nem stimmel az oszcillátoroddal, és azért nincs utasítás végrehajtás, mert nincs órajel sem. Le vannak huzigálva a kvarc lábai kondenzátorokkal? 16mhz kvarchoz 10-22pf kondikat javasol az adatlapja.
Hirtelenjében ezt az erratát találtam csak meg: mx errata a5, és itt a 28-as pont az spi framed módról szól.
Be tudod koppantani azt a 28-as pontot ide? Idézet: Az adatlap I/O portokkal foglalkozó fejezetében szoktak egy bugyuta példát mutatni az I/O port konfigurálására, azt nézd meg!. „Pontosan mely regisztereket kell még beállítani a Tris és a PORT előtt azokon kívül amit felsoroltál?”
Azt honnan tudom, hogy ha egy eddig ismeretlen típusú PIC-et veszek elő, milyen regisztereket kell beállítani?
Évek óta foglalkozom mikrokontrollerekkel de ez elég furcsa nekem, hogy a PIC családokban ekkora katyvasz van hogy pl az ad nincs alapból kikapcsolva, és nem lehet tudni, hogy pontosan milyen regisztereket kell beállítani, de sok másban sokkal jobb. Csak fura hogy van amelyik PIC-ben kell ilyeneket beállítani és van amelyikkel simán elindul ilyenek nélkül mint a PIC32mx7. Az oscillátorra gondoltam én is, szerintem jó, 16MHz-es kvarc és 22pf-os kondik vannak mellette. A PIC pedig vadi új.
Köszönöm! Megnézem és így már más számomra ismeretlen típusokkal is menni fog.
Most nézem éppen (nem láttam még közelről ezt a típust) a PORTA kapcsán ez szűrtem le:
Természetesen a 0x06 helyett mást kell írni, ha nem akarsz minden analóg bemenetet letiltani.
Ez úgy gondolom mindenképpen hasznos olvasmány a számodra és nem csak mostanra
Bővebben: Link Ahogy icserny fórumtárs írta, általában van egy kis bugyuta kód amiből mindig ki lehet hámozni valamit. Persze az esetek többségében ASM-ben amit nem igen értünk, de annyira igen, hogy tudjuk alkalmazni vagy, hogy irányt mutasson:
Amint láthatjuk a legfontosabb regisztert állítja csak be, neked ez a minimum ami kell:
Ha megvan és C porton magas szintet mérsz vagy világít a LED akkor jó a hardvered. Ha nem, akkor valami gáz van. A CONFIG beállításokat nem néztem át. Mit hogyan kötöttél be? Mekkora kristályt használsz? Milyen kondikat hozzá? LED előtét ellenállás? ...stb. ui: közben látom kaptál segítséget Idézet: „Azt honnan tudom, hogy ha egy eddig ismeretlen típusú PIC-et veszek elő, milyen regisztereket kell beállítani?” Adatlap mindig a segítségedre lesz, abból mindig megtudhatod, hogy mit mikor és miért. Ha minden kötél szakad akkor meg segítséget kérsz A hozzászólás módosítva: Nov 14, 2015
Köszönöm mindenkinek az infókat! Persze ez alap, hogy az adatlap a biblia de még kicsit szokni kell, az Atmel adatlapok sokkal részletesebbek, a Microchip-ben néha nagyon kell bogarászni.
Adatlap link: PIC16F870. A 35. oldalon (DS30569B-page 33, fejezet 4.1) bal oldalt alul van egy asm példa a portA alapinitjéről.
Idézet: „hogy a PIC családokban ekkora katyvasz van hogy pl az ad nincs alapból kikapcsolva” Más mikrovezérlőkben talán van olyan, de a pic-eknél mindig be van kapcsolva alapból az a/d. Mindig külön ki kell kapcsolni, ha nem kell, és jellemzően indulás után az szokott a legelső dolog lenni. Az okok egyébként tradicionálisan elektronikai okok. A régebbi mikrovezérlőknél még nem ST bemenetek voltak, hanem TTL-ek (régi típusoknál mai napig TTL bemenetek vannak), és azok nem igazán szeretik, ha egy analóg jel kószál valahol a táp 40-45% környékén. Akkora belső áramok kezdenek el mászkálni olyankor a tokon belül, hogy ihaj. Ahol akkuról megy az üzem, és figyelni kell az akku élettartamra, ott az az alfa és az omega. Szóval ha egyáltalán van a/d a magon, akkor az mindig mindegyik tokon analóg bemenetként fog alapinitelni, hogy megszokás szintjén mindig tudni lehessen, hogy azt mindig külön ki kell kapcsolni, vagy ha mégis megfeledkeznek róla, ne az akku igya meg a levét. Valójában kényelmi okokból van így, csak nem szoftveresen, hanem elektronikailag. Más mikrovezérlő családoknál már régen kihaltak az egykori régi típusok, többé nem kell támogatást adni hozzájuk, és azoknál meg lehetett csinálni, hogy a megkövült szokványt is eltörölték. De annak az az alapja, hogy némely mikrovezérlő családoknak alig pár100-as community-je van, és 1-2 év lemaradással az egész community a legújabb típusokat használja csak, a régieket nem kell többé gyártani sem, a pic-eket meg nagyon sok milliós community használja, és mai napig folyamatos igény van nagyon régi tokokra is. Üzleti okokból nincs mit tenni a jelenséggel. Kereslet / kínálat / community méret / marketing visszhang, egyáltalán nem puha tényezők azok. Így az összességében megszokhatóbb. Ha éppen a 32mx7-et hoztad fel példának, azoknál már jellemzően nem asm-eznek, más a regiszter neve is, és a sok100 soros MLA támogatásnak a legaljára szokott elkallódni a "AD1PCFG= 0xFFFFul;", de meg fogod találni ott is. Jellemzően a "main.c"-ben az "InitializeSystem()" része mondjuk ilyen formában:
És ja, ez már tényleg kicsit csubakkás, de azért van benne rendszer. Az MLA támogatás nem konkrétan egy adott pichez, hanem MC termékekhez, kísérleti boardokhoz, és azoknak a soktucatnyi kiépítési lehetőségeikhez készül. Aki utána saját áramkört akar építeni, annak legyen elég esze hozzá tudni, mit is csinál, ők majd úgyis átszabják saját kényelmük szerint, de a mindenkinek kiadott támogatásban azt nem lehet megkövetelni. Szóval temérdek sok define van jellemzően a "HardwareProfile.h" tartozékaiban, mint "HardwareProfile - PIC32MX795F512L PIM.h" és társaik. A felső kódrészletben például negatív logikával van bekötve az a/d kikapcsolás. Az a forrás elő tud fordulni támogatásként pár 8 / 16 bites családnál is, de ha éppen 32 bitesen fut le, akkor rászalad a legutolsó ágra, ahol 32 bites környezet lévén mindkét negált kapcsoló igazat fog adni, és a "AD1PCFG = 0xFFFF;" kerül be végül a forráskódba. Ha pic-ekkel barátkozni neked úgy könnyebb, lehet készen venni kísérleti boardokat, és van hozzájuk példakód támogatás is. Nem kötelező alapból nyers boardon a semmiből áramkört építeni, meg saját programozót fabrikálni. Jobb azt már valamennyi tapasztalattal a hátad mögött csinálni, csak a több kényelem drágább. Most jut eszembe, hogy a mai napig van egy újszerű állapotban megmaradt pk2-őm a hozzá tartozó expressz panellal, ami a mai napig érintetlen, és mindig elfelejtem feldobni az apróba eladásra kínálni
Sziasztok!
Van vagy is szerintem volt egy 16f628-am véletlenül kb kapott 8v feszültséget pár másodpercre valószínűleg meghalt? Vagy esetleg menthető?
Elég strapabíróak ezek. Próbáld ki, egy egyszerű programmal, amiről biztosan tudod, hogy működik.
Hát sajnos valószínűleg meghalt meg a pickit 2 nem is látja.
|
Bejelentkezés
Hirdetés |