Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Én használtam FRAM-ot, a fejlesztés során sem és a "piacról" sem kaptam visszajelzést hibáról. Közvetlen rálátásom nincs az eladott termékekre, de szerintem tudnék róla, ha baj lett volna az FRAM-mal.
Szia!
String kezelése nem jó sehol, kivéve PC. Okozhat gondot, de nem látom át ezt a problémát. Ami eszembe jutott: Volt egy kolléga tök ilyen gondokkal, csak Arduino-val. Nála simán okozott ilyen problémát az, hogy melyik IDE verzióban építette fel a végső kódot. (verziószám ÉS az, hogy Windows/Linux sem volt mindegy) Az IDE optimalizációja, vagy a BUG-ja okozott ilyen problémát. Az Arduino-ban kicsit kellemetlen módon, de az optimalizáció mértékét be lehet állítani, vagy ki is lehet kapcsolni. Az MPLAB-ban nem merültem el ennyire, de mint ötlet felmerült bennem, hogy nem váltottál IDE-t? Persze ez csak akkor lehet igaz, ha sok hibátlanul megy, csak utólag kezdtek hibásan működni. Csak egy tipp. A hozzászólás módosítva: Szept 15, 2023
Üdv,
Kaptam egy PIC hőmérő panelt,ismerős valakinek? Milyen szenzorral működhet vajon?Valószínúleg analóg a helitrimmer és a BC tranzisztoros bemenet miatt.Szoftvert is keresek hozzá,üres a PIC,nem csinál semmit.Köszönök minden segítséget,most kezdtem a témával foglalkozni. torokj
16C711 csak egyszer programozható, valószínűleg a kiolvasásvédelem be van benne kapcsolva. 16F716 -tal kellene kiváltani.
Üdv,
Köszönöm szépen a választ.Szoftver ügyben hol kutakodjak?
Ehhez a kapcsoláshoz keresel szoftvert vagy úgy általában, mikrokontrollert programozni?
Szia,
Ehhez is,általában is.Most kezdtem ismerkedni a PIC-ekkel. torokj
Kezdőknek való téma: PIC kezdőknek.
Ha a programozási alapok megvannak (pl. tudod mi a különbség a 0xA2 és a 0b10100010 között, mire jó a bináris "ÉS" kapcsolat, mit ad vissza a modulo függvény), akkor inkább LED villogtatással kezdj, ne egy ilyen hőmérővel.
Sziasztok!
Kénytelen vagyok dsPIC33FJ-t PC-re kötni. Itthon van egy a csatolt képen látható USB modulom. Elvileg ez ESP01 programozó akart lenni, de gondolom USB to TTL-ként is használhatom. A PIC-nek van megfelelő mennyiségű 5V toleráns lába, ez nem gond. Re-mapping-el megoldható az RX/TX és a másik két láb is. Redy, stb. De! Tudja valaki, hogy ennek milyen a lábkiosztása? Tapasztalatok? Működik ez sima USB to TTL-ként? Köszönöm!
A PC-vel szerintem össze tudod kötni ezzel a dsPIC-et. Nem hiszem hogy lesz probléma vele. A lábkiosztást nem tudom, de én a Google képekre keresnék rá. Vagy a nyomtatott áramkörén követném vissza.
Valamit már találtam, elvileg a 3.3V megvan, ezek szerint az RX,TX is megvan. A gondom most már az, hogy a PIC máshonnan kapná a feszt, nem innen, ekkor hgyan kell összekötni ezzel. A közös GND nem biztos, hogy jó lenne. A PIC egy dugasztápból 3.3V stabilizátorral van meghajtva, ez meg az USB-ről állítja elő a 3.3V-ot. RX, TX fesz szintje 3.3V, nem tudom menne ez így, vagy optocsatolóval le kellene választani, de ekkor az opto miatt igen lassú lehet az adatátvitel.... Mármint ami nekem itthon van.
Szóval simán mehetne a két eszköz két tápról? Eddigi tapasztalataim szerint nem. Logikai analizátor sem ment rendesen, ha nem ugyanaz a táp GND-je volt rákötve, mint ami előállította ajelszinteket.
A GND-nek közösnek kell lennie. A kapcsolóüzemű tápegységek okozhatnak problémát ha galvanikus kapcsolatba kerülnek a GND-n keresztül a PC-vel. Használj hozzá hagyományos trafó tápellátást vagy a dugasz tápnál leválasztó transzformátort.
Vagy készíts te hozzá egy kapcsolóüzemű tápegységet. Galvanikus független szekunderrel. A hozzászólás módosítva: Okt 15, 2023
Sajnos a trafót már nem tudom beilleszteni, kész van az áramkör, ami előállítja az opampoknak és a rádiónak a 12V-ot, 5V-t és 3.3V-ot. Az USB később jött be a képbe sajnos...
Ilen van itthon: Opto csatoló Arra gondoltam, hogy az RX/TX-eket ezzel leválasztom. Adatlap szerint a legrosszabb esetben a Falling, rising 18 us. Ezzel számolva elég lassú lehet az adatátvitel, de tévedhetek is. 20+20 esés és emelkedéssel, 40 tartással 80 us-körül lehet első tippre a négyszögjel a legrosszabb esetben. Ez 12500Hz, azaz a Baud is ennyi lehet max a legrosszabb esetben. Hát ki kell próbálnom, de ehhez megint forraszthatok rendesen.
Pillanat.
Ha nem dugasztról, hanem sima trafóról hajtom meg, és azokkal pluszban előállítok +12V-ot az eddigi áramköreimnek, és a többinek, közte a PIC 3.3V-ot is, akkor ezt rá lehet kötni a laptop USB-re? Ekkor nem lesz gond erzzel? Trafó->egyenirányítás->12V stab és a többi stab is erről, majd PIC, aminek az RX,TX kivezetése erre csatlakozik, Az USB TTLpedig a PC-re, ez mehetne? Mert akkor pár forrasztással megoldható a dolog, sőt kevesebbel, mit az opto.
Vannak ennél gyorsabb optok is. 6N136
Eddig is a sima trafót javasoltam. A lényeg hogy a laptop teste valószínűleg nincs leválasztva a 230V hálózati földről galvanikusan. Ahogy a PC-k nél sincs. Így ha az USB-re rádugunk valamit, akkor föld hurok alakulhat ki. Feszültség különbség van a PC teste és a táplált áramkör teste között. Abban az esetben ha nincs galvanikusan leválasztva a hálózatról az áramkör. A kapcsoló üzemű tápegységeknél egy kondenzátorral vissza szokták csatolni a szekunderről a feszültséget a primerre. Nem tudom talán valami hidegítés vagy mi.
A PIC-et miről programod? A PC-ről? És milyen eszközzel?
A terv, ami már egy másik lapon működik egy szintén dsPIC-el a következő: A lapon van ICSP kellő módon kialakítva. A lapon van az az áramkör is ami +12V-ról működik és szolgáltatja azt, amit mintavételeznem kell. A PIC eltárolja az adadtokat, majd tovább küldi a PC-nek. Azaz a baj ott van, hogy ez a +12V-ról menne és innen áll(na) elő a +5V másnak és a 3.3V a PIC-nek. Itt álltam le, mert ekkor a PIC külső tápról kapja a naftát, és ha az USB TTL-ről nem is kapna semmit sem, akkor gond lehet az RX,TX jelszintekkel. Ilyen már volt, Arduino elszakadt külső táp kábele, ezért átállt az USB tápra. A logikai analizátor ki is akadt kicsit. De ott volt más gond is, nem csak a szakads miatt volt gond. De a lényeg, az analizátornál sem mindegy, hogy a logikai GND lába mire van kötve. Volt olyan hiba is, hogy az USB GND-je volt rákötve, míg a jel máshonnan volt. Ilyen hibát szeretnék elkerülni, mielőtt forrasztanék agyba főbe.
Üdv!
Minden úgy működik, ahogy kell, de tényleg. UART, SPI-RAM stb. is simán megy a sok buktató ellenére. A különböző GND probléma is meg van oldva. Sok szimulációs hiba/bug és spi trükkös megoldással sikerült sok-sok problémát megoldani, olyanokat is, amikre az adatlap sem tér ki. DE MEGINT van egy ilyen... Kezdek belebolondulni, hogy semmi sem úgy megy, mint ahogy azt az ember elgondolná. ADC-t szeretnék csinálni az alábbi feltétlekkel: -Vref+ A0 -Vref - A1 -Jel + An4 -Jel - A5 -de errenincs szükség dsPIC33FJ128M802-nél, mert az adott beállítások mellett nem tudja, a Vref- -t használja, ha jól tudom. -Nincs Scan, csak 1 csatorna kell, 16 órajel 1 mintára, csak ezt használja, nincs interrupt, mert a timer indítja, amit én paraméterezek fel. A gond már ott kezdődik, hogy sdPIC33FJ32M202-t lehet szimulálni, de az is kétséges sokszor, mert volt olyan, hogy a logikailag hibás SPI-vel simán ment, a helyessel meg kerülőkkel szóval... Itt a gond, amit bármilyen beállítást alkalmazok sem jó. (persze csak azt az egyet nem próbáltam, ami jó lenne!!!! Ha ebből a while-t kiszedem, és sok nop-al helyettesítem, akkor kapok sok-sok nullát, ami ugyan nem jó, de előrelépés a semmihez képest. While-al semit semkapok, mert soha nem teljesül a feltétel, ez miatt minden más funkció is megáll, amit a main loop-ból hívnék.... A baj az, hogy a DONE soha nem lesz 1. Miért? Melyik beállítás miatt nem lesz ez soha 1? Ezt is a netről kaptam, valakinél így megy, kap eredményeket is. Ebben az esetben két dolog lehet. 1 ha jó minden, akkor a szimuláció nem jó az eltérő procik miatt. 2 nem jók a bellításaim sem.
Itt van a harmadik beállítás.
Ezek egyelőre csak tesztek lettek volna, de a readADC()- ben a while miatt soha, egyik sem megy, ezért nem tudom az init-ben sem pontosítani a beállításokat. Van valaki aki ezen már sikeresen végigment? Proteus 8.1, MplabIDE 5.35, dsPIC33FJ128MC802. Köszönöm a segítséget előre is!
Lassan, de bizoytalanul:
Ilyenre gondoltam és lőn.
Sziasztok,
nem tudja valaki hogyan lehet az ipecmd-nek olyan hex fájlt megadni a -F paraméterrel Linux-on? Amit próbáltam:
Az elérési útból szóköz kiszedése nem opció (gyártási dolgok strutúráltan vannak egy mapparendszerben elhelyezve) A hozzászólás módosítva: Okt 31, 2023
Az F és az idézőjel közé nem kellene szóköz? Idézőjelek és minden egyéb nélkül sem jó? Esetleg \0x20 vagy \20 vagy \32 a szóköz helyén?
A hozzászólás módosítva: Okt 31, 2023
Nem, próbáltam úgy is. A kódot megnézve ez ilyen elcseszett microchip-es divat, hogy nem használnak semmi argumentum kezelő libet, hanem kézzel parsolnak mint az állatok...
Ezek amúgy az argumentumok: https://gist.github.com/martonmiklos/9f1b05236cc4a3ea9f3838a48da8f298
Esetleg egy rövid parancsfájl, ami készít egy ideiglenes másolatot a fájlról, elvégzi azzal a feladatot az ipecmd, majd törli az ideiglenes fájlt?
Továbbgondolva a parancsfájl is megírható úgy hogy kezeljen paramétereket - de azt már jól... Mégtovább gondolva (bár ennyire nem ismerem a linuxot) esetleg környezeti változóba tenni a fájlnevet, és azt átadni az F után paraméterként (szintén parancsfájlban/shell scriptben megoldva)? A hozzászólás módosítva: Okt 31, 2023
Nyilván meg tudom oldani így csak alapból nem szeretem az ilyen tákolásokat...
Most a visszafejtett java kódot nézegetem, hogy mit baltáztak el az indiánok. Ha akarnál sírni/nevetni akkor erre tessék: https://github.com/martonmiklos/ipecmd/tree/master A környezeti változós trükk jó ötlet, de nem jó sajnos az sem:
A hozzászólás módosítva: Okt 31, 2023
Egy email-t esetleg megpróbálhatsz küldeni a fejlesztőnek... hátha javítja, addig meg marad a tákolás. Ilyenkor hasznos egy ramdiszk, én win alatt is gyakran használom sokmindenre. Ráadásul van olyan ami mindíg csak annyi memóriát foglal, amennyi fájlt tárol éppen. Még filmet is nézek néha így - átmásolom a NAS-ról a RAMdiszkre és onnan megy a lejátszás. Igy nem ráncigálja folyamatosan sem a hálózatot sem a drájvot, bár SSD esetén ez már nem probléma.
A Javába belenéztem, nem túl szép, de szerintem az jól kezeli a fájlnévben a space-t. Ha visszafejtett, akkor az simán lehet, hogy eredetiben sokkal szebb volt a kód, szerintem visszafejtett programkódot nem illik kritizálni. Pláne, hogy visszafejteni sem volna szabad talán. Nem a ./ipecmd.sh szkript töri kettőbe? Abban mi van? Az egy szkript, könnyen javítható lehet.
A hozzászólás módosítva: Okt 31, 2023
Idézet: „Ha nyílt forrású a program, akkor akár meg is lehetne javítani.” Nem nyílt forrású, de ha lehet akkor megpatchelném inkább. Idézet: „Nem a ./ipecmd.sh szkript töri kettőbe? Abban mi van?” Dauh bingó, jövök egyel!!! Betettem a tartalmát a bash-ba és így meg. A $@ átpasszolása volt a ludas:
A hozzászólás módosítva: Okt 31, 2023
Bocs, közben felfogtam, hogy ez visszafejtés és alászerkesztettem. Mindegy, a lényeg, hogy működik!
Az utókor kedvéért: a legegyszerűbb fix a problémára az ipecmd.sh.-ban idézőjelek közé tenni a @$-t ily módon:
|
Bejelentkezés
Hirdetés |