Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   897 / 1211
(#) pajti2 válasza Owert hozzászólására (») Jan 26, 2017 /
 
Ha nonblocking style kódolsz, nem kellene problémát jelentsen a késleltetés sem. Sajnos az a programozási stílus 10x-esnél nagyobb erőfeszítés, és gyakorolni kell. Az olcsó végleges hardverhez az előzetes szoftver fejlesztés lesz a több.

Példának okáért egy késleltetés, ami mondjuk annyi volt, hogy "delay(10);", ezután timer feltöltés lesz, interruptban folyamat kiolvasás, gépóra nyilvántartás, külön esemény végrehajtási blokkok, és idő limitnél a tényleges végrehajtás - időlimit előtt csak sima skip.
A hozzászólás módosítva: Jan 26, 2017
(#) Lamprologus hozzászólása Jan 26, 2017 /
 
Hogyan lehet egy 32 bites float változót 8 bites "csomagokra" bontani? ( lehetőleg CCS-C-ben ... de ha csak az elvét tudja valaki lehet az is segít)

Eepromba szeretnék letárolni egy 32 bites float változót, de a memóriát csak 8 bitenként tudom írni és olvasni.

CCS-C-ben vannak a make8, make32 függvények, ezekkel szét tudok darabolni és összerakni egy 32 bites integert, de hogyan lehet egy float-tal megycsinálni ugyan ezt?

24C32 külső I2C eepromról lenne szó.
A hozzászólás módosítva: Jan 26, 2017
(#) nedudgi válasza Lamprologus hozzászólására (») Jan 26, 2017 /
 
Ha jól emlékszem, akkor az union a kulcsszó. Előnye függvényekkel szemben, hogy nem műveletet végez, hanem újra definiálja a tárterületet, más néven.
(#) cross51 válasza Lamprologus hozzászólására (») Jan 26, 2017 / 1
 
Valahogy pointerezéssel is meg lehet kapni indirekt a lebegő pontos szám tartalmát csak már nem emlékszem rá, holnap utána olvasok, vagy egy fórumtárs hátha tudja . De az unionos módszer is működőképes:
  1. typedef union {
  2.   float f;
  3.   struct {
  4.     unsigned int mantisa : 23;
  5.     unsigned int exponent : 8;
  6.     unsigned int sign : 1;
  7.   } parts;
  8. } double_cast;
(#) Hp41C válasza cross51 hozzászólására (») Jan 27, 2017 / 1
 
  1. typedef union {
  2.    float f;
  3.    byte b[4];
  4. } myfloat;
  5. ....
  6. myfloat pi;
  7. pi.f = 3.14;
  8. ....
  9. EEPromWrite(cim,pi.b[0]);
  10. EEPromWrite(cim+1,pi.b[1]);
  11. EEPromWrite(cim+2,pi.b[2]);
  12. EEPromWrite(cim+3,pi.b[3]);
  13. ....
(#) Owert válasza mrobi hozzászólására (») Jan 27, 2017 /
 
Köszönöm a választ, megoldotta a problémát. Mondjuk szerettem volna elkerülni, mivel a c1, c2 portokra kell kötni a motort, ami miatt módosítani kell a panelt, de ettől függetlenül jól kezeli program most már. Még egyszer köszönöm!
(#) ativagyok hozzászólása Jan 27, 2017 /
 
Sziasztok!
Adott egy PIC18F65k40 kontroller, ami 3 különböző UART modulon keresztül fog kommunikálni. Ezen kívül egy előlapi enkódert kellene kezelni vele. Hogyan lenne célszerű kivitelezni, hogy megfelelően kezelje a kommunikációk mellett az enkódert is?
Köszönöm előre is a segítséget.
(#) pajti2 válasza ativagyok hozzászólására (») Jan 27, 2017 / 1
 
Aszinkron állapotgépekkel egyetlen főciklusban - hogyan máshogyan?
(#) nedudgi válasza ativagyok hozzászólására (») Jan 27, 2017 / 1
 
Ennyi perifériát csak megszakítással szabad kezelni.
Például a soros portokat FiFo pufferbe írod, ha van rá ideje a processzornak, oda/onnan mazsolázhat. Az enkóder szintén kezelhető megszakítással.
A hozzászólás módosítva: Jan 27, 2017
(#) Lamprologus válasza Hp41C hozzászólására (») Jan 27, 2017 /
 
Köszönöm! Most már tudom merre induljak... Át kell néznem az union-os és a mutatós témákat! Tudtam, hogy előbb utóbb szükségem lesz rájuk!
(#) atesz_95 hozzászólása Jan 27, 2017 /
 
Szisztok. Még régebb (6 éve) építettem egy digitális órát hőmérővel amit egy pic 16F628A vezérel. Most nagy bajban vagyok mert az óra egyszer csak nem akar egyetlen 5 számot sem kíírni bárhol is legyen az. Tehát pl 05:56-nél csak azt jelzi ki, hogy 0 : 6. A többi számot rendesen kíírja csak az 5 nem. Mi lehet a baj? Válaszokat előre is köszönöm.
(#) Lucifer válasza atesz_95 hozzászólására (») Jan 27, 2017 /
 
Idézet:
„Mi lehet a baj?”

Elromlott?

Viccet félretéve: nem értem, hogyan akarsz segítséget kapni, ha minimális információkat sem osztatsz meg. Kapcsolási rajz, kód, stb.
(#) almaf1231 válasza atesz_95 hozzászólására (») Jan 27, 2017 /
 
Gyanúsan szoftverhibának tűnik pedig...
(#) atesz_95 hozzászólása Jan 27, 2017 /
 
Ez lenne. Itt van minden rajz, program stb. Éhttps://www.hobbielektronika.hu/cikkek/digitalis_ora_homerovel.html
(#) icserny válasza atesz_95 hozzászólására (») Jan 27, 2017 /
 
Idézet:
„A többi számot rendesen kíírja csak az 5 nem. Mi lehet a baj?”
Első nekifutásra próbáld meg újra rátölteni a programot. A külső hardver elemek nem tudnak ilyen hibát előidézni.
(#) Bakman válasza atesz_95 hozzászólására (») Jan 27, 2017 /
 
Első lépésként olvasd ki a kontrollerből a programot és hasonlítsd össze azzal, ami az oldalon van.
(#) pajti2 válasza atesz_95 hozzászólására (») Jan 28, 2017 /
 
Vagy még inkább első lépésben egy kérdés: mióta működik folyamatosan az eszköz? Volt az kikapcsolva az elmúlt 6 évben?

Ha valami ciklusváltozója átbillenhetett, és hibát okozhatott, rövid távon egy sima újraindítás megoldja. Aztán majd javítani a programot, ha kiderült, hogy tényleg olyasmiről van szó, és frissíteni majd valamikor.
(#) Pethical válasza atesz_95 hozzászólására (») Jan 28, 2017 /
 
Fejtsük vissza a hex-et?
Ezért nem értem soha ezt a titkos a forrás dolgot a cikkekben lévő "jelentéktelen" programoknál. Már 6 éve meglátta volna valaki a hibát és szólt volna, ha van forrás is.
A hozzászólás módosítva: Jan 28, 2017
(#) nedudgi válasza Pethical hozzászólására (») Jan 28, 2017 /
 
Nem biztos, hogy azért titkos, amire gondolsz. Lehet, hogy a fejlesztőnek ciki a forrás, mert olyan megoldások vannak benne, amit szégyell.
(#) atesz_95 hozzászólása Jan 28, 2017 /
 
Csak akkor volt kikapcsolva amikor elvették az áramot.
(#) picipic hozzászólása Jan 28, 2017 /
 
morbi és a többiek!

Köszönöm a válaszokat. Még egy kicsit bajlódnom kell a mechanikával.
A "csúszka" nem tökéletes, pedig egy párat már kipróbáltam.
Az ablaktörlő motor kiválasztása ill. megvétele után állok rá annak méricskélésére.
Fotocellás-tárcsás megoldás nekem is eszembe jutott, de azzal legalább annyi meló lenne, mint a végálláskapcsolókkal.

A komparátoros megoldás szimpatikus (ADC nincs), ebbe az irányba fogok elindulni.
Ha majd meg lesz a motor, pajti2 bejegyzését is még egyszer alaposabban átolvasom majd.

Addig is mindenkinek köszönöm a hozzászólását.


Üdv
picipic
(#) gyoran válasza atesz_95 hozzászólására (») Jan 28, 2017 /
 
Hát a hiba az elég hihetetlen. HW hiba nem valószínű, mert a kapcsolásnak fogalma nincs az 5-ös és mondjuk a 6-os különbségéről.
Ez lenne az első számomra ismert hiba, ahol egy PIC megbutul, de következetes marad.
Egy dolgot azért el tudok képzelni, ha pl az EEPROM-ban tárolgat az számokkal (pl 5-össel) kapcsolatosan valamit, az a hely nagyon rendszeresen írva van és elöregedett.
Persze lehet SW hiba is, állítsd vissza a dátumot tavalyra, hátha ...
A működés és nem működés között volt valami (Villámcsapás, földrengés, áramszünet, évváltás, gyerek általi gombnyomogatás )?
Teljes tanácstalanság esetén pedig új PIC, új égetés, megint hátha...
A hozzászólás módosítva: Jan 28, 2017
(#) Sten hozzászólása Jan 29, 2017 /
 
Sziasztok!
Most kezdtem PIC-elni és felmerültek olyan problémák hogy.....
-sok próbálgatás árán rájöttem hogy MPLAB X IDE -vel hogy kel lefordítani a programot hex-re
és hogy tudom írni, olvasni a PIC-et MPLAB IPE-vel irtam is bele egy alap led villogtató programot többszöri módosítás után is tudtam írni aztán egyszer csak nem...
-honnan tudom hogy tönkrement egy PIC? mert a beleírt programot futtatja de nem tudom írni?
ilyen hibákat ír:
Idézet:
„Target Device ID (0x3fe0) is an Invalid Device ID. Please check your connections to the Target Device.
Target has invalid calibration data (0x3f).”

PICkit3 clonnal programozom-nám a 12F675-met, egy gyári próbapanelon csücsül és ICSP kivezetésen keresztül írnám tápot usbn keresztül kap a panel a szg-től , csatlakoztatásnál ír valami feszültség problémát is? Ez mi lehet?
A hozzászólás módosítva: Jan 29, 2017
(#) attika válasza Sten hozzászólására (») Jan 29, 2017 /
 
Azt még írd le, hogy milyen Pic-et használsz és mit , hogy csinálsz mert ezt fogják legelőször megkérdezni tőled a hozzáértők.
(#) Hp41C válasza Sten hozzászólására (») Jan 29, 2017 /
 
A PICkit3 alaesetben nem ad ki tápfeszültséget a programozandó kontroller számára. Innen a "csatlakoztatásnál ír valami feszültség problémát". Külön ben kell állítani, de 4.75V -ot kell beállítani 5.00V helyett, mert 5.00V -ot nem képes kiadni.
(#) Sten válasza Hp41C hozzászólására (») Jan 29, 2017 /
 
Az nem jó ha cél áramkör saját tápja be van kapcsolva?
Én így tudtam írni, de most már így sem...
(#) Sten válasza Hp41C hozzászólására (») Jan 29, 2017 /
 
Ezt irja...

mplab.jpg
    
(#) _BiG_ válasza Sten hozzászólására (») Jan 29, 2017 /
 
Csak arra figyelmeztet, hogy győződj meg róla, hogy az a PIC van-e csatlakoztatva fizikailag, mint ami a programozónál ki van választva. Mert ha egy 3,3V-os PIC kap 5V-ot, akkor annak kampec.
(#) pajti2 válasza Sten hozzászólására (») Jan 29, 2017 /
 
Én cmd tool-al használom a pk3-at, és mindig target powered opciót használok, valahol az mplab x-nél is kellene legyen rá opció.
(#) pompidu hozzászólása Jan 29, 2017 /
 
Sziasztok,

Most ismerkedem a pic32-es családdal eddig csak kisebbekkel volt dolgom, egyenlőre csak egy lcd-t szeretnék vele meghajtani és próbálgatni, viszont a programozó sehogyan sem ismeri fel. Elkezdtem utána olvasni és lehet hogy elkövettem egy szamár hibát, miszerint a Vcap lábra nem kötöttem semmit, ez okozhatja azt a hibát, hogy az író nem látja a pic-et? (Pickit3)
Következő: »»   897 / 1211
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem