Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Köszönöm, megpróbálom bekapcsolni mert nincs beállítva....és próba. talán hét végén kiderül javít e a helyzeten 2 - 3 nap alatt elő szokott jönni a probléma.
Köszi a segítséget
Bocs, ezt nem tettem hozzá, ha van elég lába a PIC-nek, akkor lehet nélkülözni, a PGD-PGC -t.
Csak az otthoni gépemen próbáltam a WPB-t futtatni, az OCX-ek alkönyvtárban voltak (ahogy a zip-ben található), így hiányolta a program. Miután regisztráltam, jó lett. De ki fogom próbálni. Én tudok időt szakítani erre, ha csak fél órát is az is haladás. Meg ugye ne felejtsük el, hogy kis pénz, kis foci.
Szia!
Sajnos így sem jó.
Ekkora kódot legközelebb légy szíves file-ként csatolni, korrigáltam. -- kobold
Egyelőre működjön így, aztán majd egyszerűsítem/bonyolítom... ez egyenlőre még csak egy próba volt hogy tudom-e vezérelni a D/A-t.
Hali
Szeretnék érdeklődni hogy azt a nyák tervet megkaphatnám? Nem jó helyre írok és azért kapok piros kézjeleket? üdv Feri
Csatoltam eagle fájlként is és pdf-ben is. Van benne egy kis hanyagság, nevezetesen a egyik tápszűrő kondit félretettem, mert úgy ítéltem meg, hogy jelen kialakításban nincs rá szükség.
Ha ezt építed meg, akkor az R3 helyére tegyél 47K-t! A 10 is jó, de ha az áramkörben is van egy, akkor az sok lehet egyes regulátoroknak viszáramban.
Hmli, neked is javaslom a cserét!
Szia Mindenki!
Kérlek tájékoztassatok attól, okozhat-e zavart vagy károsodást egy PIC16F1936 mikiben egy hozzá igen közel lévő E54 vasmagos trafó? Hőszivattyú vezérlést építek, 3 db 10x8 cm-es panellel. Egyik a táp, másik a PIC modul, harmadik a relémodul. Rakhatom őket egymás fölé, mint 1 kocka, vagy szereljem teljesen külön a tápot? fg
Szerintem nem fogja zavarni, de 100%-ra nem mondhatom, mert nem ismerem a kapcsolást és a programot...
Köszi a gyors választ Vicsys, megnyugtattál. fg
Sziasztok,én még csak most kezdek picezni és egy JDM programozót használok icproggal és beleakartam égetni az elektronikus dobókocka hex fájlját csak az a gond,hogy amikor megnézem akkor átrak egy üres lapra(a böngésző) és ott ír ki számokat meg betűket és nem tudom,hogy onnan én,hogy csinálok abból hex fájlt,tehát ebben szeretném a segítségeteket kérni.
Jobb gomb, letöltés másként... Ez számítástechnikai kérdés...
Csak az a baj,hogy ha jobb gombbal rámegyek akkor nekem nincs olyan
Jelöld ki a karaktereket, majd ctrl+C, jegyzettömbbe ctrl+V majd mentés másként és megadod, hogy .hex kiterjesztéssel mentse el.
Sziasztok!
I2C-s kérdésem van. 2 PIC közötti kapcsolatban a slave megszakítással normálisan működik, de nekem a megszakítás másra kell. (megszakításból 1 forgójeladó jeleit dolgozom fel) A megszakítás rutinból ki kellene vennem a busz kezelését, mert így adatvesztés van (lehet), "nagyobb" sebességnél. Próbáltam az "órajel nyújtást" (CKP-bit), de nekem nem jött be. Lehet, hogy nem jó helyre tettem vagy valamit nem jól értelmeztem. PIC16F690-röl van szó. Tudtok segíteni? Előre is köszi: NGy
Sziasztok!
Lenne két rövid kérdésem PIC CCS-el kapcsolatban. Lehet új adattípust létrehozni, mint pl. Delphi-ben? int4 ami 0..14-ig lehet használni? Olyat szeretnék csinálni, hogy kevés a PIC memóriája (mikor nem?!) és van sok-sok-sok globális változó, de Int8 -ra lehet csak deklarálni, de 0 és 7 között változnak, és megosztanék két változó között egy Int8 -ast, mert az MSB-n és az LSB-n is 0..14 -ig fér el adat, tudom, kicsit lassabb lesz, de nem baj. A másik problémám szorosan kötődik az elsőhöz, de nem feltétlenül ahhoz kellene. Egy int8 -as adat LSB bit-jeit hogyan tudom kiolvasni(?), mert az MSB megy: Int8 Adat; Adat= 0b11110010; Int8 MSB = ((Adat >> 4) & 0xFF); MSB = 0b1111; Nem szívesen tesztelném végig a biteket, és valami pár órajel alatt lefutó függvényt szeretnék, jó pár variációt kipróbáltam, de nem jók, mert mögéteszi a nullákat: LSB = ((Adat << 4) & 0xff);, a többi bitet meg nem piszkálhatom, és a neten én nem találtam megoldást. (Tudom Google, de ott se) Előre is köszönöm szépen a segítségeteket!
A "structura " varazsszo segithet. Lehet strukturat csinalni barmilyen tipusu valtozobol. Egy pelda a CCS helpbol:
Erre igy hivatkozhatsz:
Lehet meg uniont is hasznalni, ami hasonlo a structurara, de ott azonos szohosszra lehet hivatkozni egeszkent, es reszenkent. Nezz szet a CCS topikban, es a konyvek kozott.
Az union egész más, csak szintataktikájában hasonló!
- A struktura önálló változók halmaza egy tárolási egységbe foglalva. - Az union pedig ugyanarra a memóracímre deklarál különböző változókat amelyeknek a típusa és hossza is eltérő lehet. Akár struktura és tömb is lehet eleme az unionnak. Mivel egy fizikai memóriacímen egyszerre csak egy érték lehet, ezért az union egy elemének értéket adva, a többi eleme is felveszi ugyanazt az értéket! Lehet Neked ez nem új, de félreérthetően írtál...
Ami megoldás nekem ezzel kapcsolatosan eszembe jut, hogy:
- a megszakítási rutint a lehető legrövidebbre kell készíteni, csak a legszükségesebbek legyenek ott és esetleg egy jelzés a főhuroknak, hogy az adott megszakítás ki lett szolgálva és az egyéb teendőket már ott lehet elvégezni vagy - a jeladó kiszolgálása után gondolom, hogy van némi idő másra, és a slave rutint csak arra az időtartamra engedélyezd - esetleg felhagyni a slave megszakításos kezelésével és pollingozással elintézni a dolgot Más ötletem egyelőre nincs, az i2c-vel én csak mostanában kezdtem barátkozni.
Sziasztok!
Köszönöm a válaszokat! Igazából akkor nem jártam túl messze az igazságtól, mert én egy ilyet csináltam: Struct Data_Record { Int8 Data_Arr[3] : 4 ; Int1 TD; Int8 Data_A : 4 ; Byte DData[2] : 2 ; }Data_Var; és akkor annyi teendőm van, hogy korlátozom a változók hosszát, amit kékkel jelöltem fentebb; és így 3db 4bites Data_Arr -m és 1db 4bites Data_A -m és 2db 2bites DData -m lett?-jól gondolom? Ez sima változóknál is működik? -vagy csak struktúrán belül? pl: int8 Adat : 4; -mint 4bites változó. Köszönöm a könyveket! Ha az union ugyanoda teszi a változókat, és csak egy értéket kaphat egyszerre akkor mi értelme? Ja, megvan, több különböző változót definiálok, de egyszerre mindig csak egyet használok, akkor union-t érdemes használni. Remélem jó a gondolatmenetem? -és elvileg mindig a legnagyobb értéknek megfelelő fizikai memóriát foglalja le. De még továbbra is kérdés az, hogyan lehet egy int8 változó alsó 4bájtját kiolvasni rövid(ebb) idő alatt másik xdb változó és speciális függvények deklarálása nélkül? Mégegyszer nagyon köszönöm az eddigi segítségeket! Sanya
Szia! Károsodást semmiképpen nem okoz, viszont ha nem akarsz magadnak mindenféle megfoghatatlan programhibát, akkor a trafót árnyékolással válaszd el a többi áramkörtől. Igen nagy szórt mágneses teret indukál.
Lehet hogy jól megtervezett szűrésekkel nem lesz gond, de erre azért nem tenném le a nagyesküt. Nem ismerem a kapcsolást, ezért nem tudok konkrét megoldást írni. Ha van benne analóg rész, akkor mindenképpen kihat rá. Olvastam olyanról hogy az LCD vezérlése is visszahatott a pices áramkörre, pedig ott nemigen van szórt mágneses tér. Nyugodtan összerakhatod egymás fölé az áramköröket, de a táp és a többi közé tegyél árnyékolást!
Hali
Létezik e olyan hogy PIC lelehet védeni mint jelszó hogy más ne férjen a programhoz ? Idézet: „hogyan lehet egy int8 változó alsó 4bájtját kiolvasni” Gondolom itt alsó 4 bitre gondolsz. Ezt leghatékonyabban bitmaszkkal lehet elérni és bitenkénti ÉS művelettel:
Ahol LSBs az int8 méretű alsó biteket tartalmazó változó, var_int8 az eredeti változó, & bitenkénti ÉS operátor.
Sokmindenre...
Így pl. bájtonként hozzá lehet férni egy 32 bites számhoz. Vagy ha egy stringbe akarok különböző változót elhelyezni:
Arra figyelni kell, hogy fizikailag fordított a bájtok elhelyezési sorrendje mint ahogy általában ábrázoljuk
Pollingozással próbáltam, de akkor hibára futott, vagy az ACK-ba ragadt bele. Jelenleg a jeladó kiszolgálás után még megnézem, hogy a buszt is ki kell-e szolgálni? Mellékletben a megszakítás rutinom.
Sziasztok!
Köszönöm a válaszokat! union: ez teljesen jó találmány El_Pinyo: mért akartam én mindenáron shift-elni?! -mikor van and,or,xor,stb. Felére csökkent a foglalt memória egy union és a struktúrában lekorlátozott változó hosszal! Durva! Ezer hála és köszönet minden segítőnek! Sanya
Hali
A "PIC Programming with C" cimu konyv 8. fejezeteben talalsz jo magyarazatot a strukturak es unionok hasznalatarol. |
Bejelentkezés
Hirdetés |