Fórum témák
» Több friss téma |
Idézet: „18LF8490” Létezhet hogy a 2KOhm a PIC Mclr lábán felhúzónak és a Pickit2 Vpp esetleg nem éri el a megfelelő feszültséget a 2k miatt mert ha a Vpp több mint +5V, akkor a 2k a Vdd-t emelgeti magasabbra, amit esetleg a pk leszabályoz közben a Vpp nem éri el a kellő feszültséget ? Ha lenne erre esély ideiglenesen kikötném a felhúzót. A hozzászólás módosítva: Nov 18, 2017
Könnyen lehet, hogy ez a baj. Felhúzónak 10 kΩ-ot illik használni, azt le tudja győzni a programozó.
2 amperrt enne a taprol az egesz.Pic18f46k22 picet hasznalok
A hozzászólás módosítva: Nov 18, 2017
Vagy ha ilyen rossz a PC táp, akkor meg van ez a lehetőség, van ilyen tápegység még itthon, erről mi a vélemény?
Bővebben: Link A hozzászólás módosítva: Nov 19, 2017
Moderátor által szerkesztve
Sziasztok!
MPLAB X v4.05, XC8 v1.44 környezetben, PIC18F25K40-el van gondom. A globálisan definiált változók értékét nullának értelmezi. De amelyiknek a főprogramban adok értéket, az rendben van. A szimulátorban természetesen minden működik. Az alábbi kis program csak 4 felvillanást eredményez. Mit rontok el?
A hozzászólás módosítva: Nov 19, 2017
A starthoz képest 4sec múlva kezdi a 4 villogást ?
Ha igen akkor az x1 és x2 értektelenül van a main kezdetekor. Nyílván akkor ha main ban beírnál x2 = x3; akkor lenne 8 villanás is. Illetve ha x3= x1 vagy x2; akkor 1 se. Mindenesetre érdekes, akkor a mainon belül kellene értékeket adni vagy onnan meghívni értékadónak megírt rutint. Persze én nem értek ehhez, hátha más ír valami magyarázatot.
Nem állítottad át az alapértelmezetten analóg bemenetet digitálisra.
Igen, 4 másodperc múlva kezd villogni.
Egy méretes konstans tömb miatt lenne erre szükség. benjamin: A TRISA kimenetként beállított bitjeinél mindegy az ANSEL bit. A LED villog.
Nem rossz a pc táp, csak durva terhelés van rajta. Ha ráadásul valami audio cuccot csináltál (pic nem eszik 2 ampert), jobb a független táp.
Esetleg így milyen ?
A hozzászólás módosítva: Nov 19, 2017
Hmm, most jövök rá, hogy lehetségesen egy hatalmas nagy félreértésről is lehet szó az én részemről.
![]() Miközben a pic-et a pc tápon tartod, rajta lesz azon a tápon a pc is? ![]() A hozzászólás módosítva: Nov 19, 2017
Nem nem...
Elkeztem egy 8x8x8,5x5x5,3x3x3 as ledkockát Lassan kész is aztán combos tápot kerestem és pc táp jutott eszembe. Ahogy néztem 5db 5v os tápja van igy nem kell stab ic stb. Csak sajnos pc tápot nem használtam ilyen célra és igy megkérdeztem mire kellene ügyelni. Montátok a 10uf os kondit szűrésnek és egy biztositékot.
A pre-ben deklarált változók lokálisak csak ott érvényesek.
Nem ismerem a PIC fordítókat, de ez a hiba azért van, mert a bss szegmensbe tesz minden globális változót, amit a startup kód lenulláz. Nem használja a data részt. Lehet, hogy van valami beállítási lehetőség ezekkel kapcsolatban. Ha a ciklusváltozót lokálisba teszed?
Anno amikor C ben programoztam
Több C file egybefordításakor mindegyik elejébe tettem ezt kivéve a var.c file :
A c fileok fordítása majd linker ezek .o-jaiból ból ELF extern.h file példa:
És egy külön c file ahol ugyanezeknek az értékadásai voltak var.c file:
Ekkor minden C fájl külön külön hibamentesen fordíthatóvá vált és minden ismerte ezeket a tömböket változókat nem volt lokális persze a függvényekről is gondoskodni kellett "Extern"-ileg Hogy ez segít-e passz Azt se tudom a PIC nél több c fájlból lehet e egy programot készíteni (már linkerileg). A hozzászólás módosítva: Nov 20, 2017
Sziasztok! Tapasztalt már valaki olyat, hogy a pickit3 programozó helyesen felprogramozza ugyan az eszközt, de aztán mikrokontrollert elindítani már nem lehet vele? Tehát ha az on négyzetet kipipálom, elkezd pl. egy egyszerű ledvillogtatásnál halványan világítani a led. Ha azonban leszedem róla a pickit3-at, és 5v os szabályozott táppal próbálom meg, működik helyesen, tehát beégette....
![]() Megköszönném, ha adnátok tippeket mi lelhette a programozómat, eddig működött helyesen.
A __delay_ms() eljárás használata előtt be kell állítani az órajel frekvenciáját:
Oké, akkor csak félreértés volt. A plussz dióda és kondi valószínűleg elhagyható. A biztosíték akkor is fontos. A pic lábaira közvetlenül a 100 nano minden mástól függetlenül is kötelező jellegű. A többi a szokásos. A pc táp abszolút okés lesz.
Köszönöm!
Lefordul, de ezzel a linker-el nem boldogulok, nem tudom hogyan hozzam létre. Sejtem, hogy a több darabból álló object kódból varázsol futtatható tárgykódot, de nem találtam még rá az MPLABX-ben követhető példát.
Sziasztok.
Kiválasztottam ezt az eepromot Bővebben: Link Az a kérdésem hogy tudom elméletileg egy más között a komunikációt össze hozni?? Hogy tudok értéket kiolvastatni? Hogy van címezve az adattáblája ? Jól forditottam hogy SDA lábat 2k val kell felhuzni 1mhzes sebbességért? Segítségeteket előre köszönöm A hozzászólás módosítva: Nov 20, 2017
Sziasztok!
Villamosmernok MSc-n PIC-et programozunk (16F18857). Sajnos nem igazán vagyok otthon a témában. Van itt köztetek olyan, aki tudna velem foglalkozni? Jelenleg: megszakítások, A/D konverter, ami nem tiszta. Koszonom a elore is! ![]()
Hogy tudok értéket kiolvastatni?
I2C üzenetet kell küldeni: <Start><írási_eszközcím><cím_felső_byte><cím_alsó_byte><Restart><Olvasási_eszközcím> Ezután lehet kiolvasni a megadott címen tárolt értéket. A kiolvasást egy <Ack> -kal kell lezárni. Az olvasás egyben növeli a beírt címet. További olvasásokra a soron következő címen tárolt értéket olvashatjuk ki. Az utolsó kiolvasást egy <NAck> -kal kell lezárni, majd egy <Stop> -ot kell küldeni. <írási_eszközcím>: Az A2, A1, A0 lábakra kapcsolt szintekkel beállítható: 0xA0, 0xA2, 0xA4, 0xA6, 0xA8, 0xAA, 0xAC, 0xAE értékere. <Olvasási_eszközcím>: A beállított <írási_eszközcím> +1: 0xA1, 0xA3, 0xA5, 0xA7, 0xA9, 0xAB, 0xAD, 0xAF Idézet: „Jól fordítottam, hogy SDA lábat 2k -val kell felhúzni 1mhzes sebességért?” Mind az SDA, mind az SCL vonalat kel kell húzni. Mind a két vonal nyitott kollektoros és mindket5tőt a master és a slave is meghajthatja. Melyik lábakon kezeled? - MSSIx SDAx, SCLx:Az SSPxADD beállítása a kívánt sebességnek megfelelően, MSSIx modult I2C master -nek kell beállítani. - Bármeny más lábak: Szoftver I2C master rutinokkal. A vonalaket csak alacsony szinten szabad meghajtani, a magas szintet a kikapcsolt meghajtó (TRISx.y=1) és a felhúzó ellenállás biztosítja. A hozzászólás módosítva: Nov 21, 2017
A pic-et első sorban megtanulni szoktuk (van angol adatlap), megérteni csak utána. Ha betéve tudod az adatlapot, az máris ki fog szűrni csilliónyi kérdést, amit egyébként senki emberfiának/lányának nem lesz türelme mind megválaszolni. Azért van az adatlap.
Van könyv is ( Bővebben: Link ), ami magyarul van (az adatlap mind angol), de csak óvatosan vele. A technika mindig fejlődik, amit a magyar művek kb 20 éves lemaradással követnek. A jelenben gyors segítség lehet, de ha elkezdesz a későbbiekben is arra hagyatkozni az adatlapok helyett, jó nagy tévedésekbe sodrod majd magad. Csak akkor javasolnám azt a könyvet, ha gyors segítség kell a főiskolai beadandóhoz, és utána a mikrovezérlőknek a közelébe menni sem szándékoztál, amiben egészen biztos vagy.
Nem értek egyet. Vagy nem jól fogalmaztál. Én sem tudom az összes PIC adatlapját fejből amit használok. Tudom hogy működik, az egyes perifériál hogy működnek általában, és amit éppen használok azt átnézem, hogy van-e valami speciális ami eltér az általánostól. Vagyis jobb érteni mint bemagolni.
Én ezzel a 20 éves lemaradással vitatkoznék csak, igenis van magyar jó minőségű leírás a működésekről, csak épp nincs kellő mennyiségben reklámozva:
Egy példa a nagyvilágból a minőségi tudás megszerzéséhez vezető úton. Jó olvasgatást mindenkinek, icserny HE-n korábban is aktívan tevékenykedő kolléga oldalához. ![]() A hozzászólás módosítva: Nov 21, 2017
A "A c fileok fordítása majd linker ezek .o-jaiból ból ELF" - el nem tudom mit tegyek.
var.c-t, extern.h-t és main.c-t a képeken láthatóan módosítottam. A szimulátorban jól látható, hogy x2 értéke 3, de a hardverben nulla az értéke. Továbbra is 4 villogás 4 másodperc szünet után. Nem tudom hol van elrontva.
Egy ilyen PIC adatlapja majdnem 700 oldal... Szólj ha megtanultad, kikérdezem!
|
Bejelentkezés
Hirdetés |