Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1228 / 1318
(#) pajti2 válasza Zsora hozzászólására (») Jún 15, 2016 /
 
Mármint azoknak a kerámiáknak volt közel zéró ESR-je, amiket még a régebbi gyártástechnológiákkal készítettek, de azok nem is voltak 100 µF-nak a környékén sem. Ezeknek az újaknak nem tudom még, milyen vaj van a fülük mögött, de valami biztosan nem tiszta. Kotorászok gyártástechnológiai magyarázat után, mi a rákot követtek el, hogy az egykori korlátot ezerszeresen tudják mára átlépni. Lehet, hogy jobbak a tantáloknál, de az a biztos, ami zicher.
A hozzászólás módosítva: Jún 15, 2016
(#) Zsora válasza pajti2 hozzászólására (») Jún 15, 2016 / 1
 
Már nagyon eltértünk a témától.
(#) pajti2 válasza Zsora hozzászólására (») Jún 16, 2016 /
 
Azért is rakom szürkébe, mert kicsit off, de olyan nagyon azért nem off, hogy megszólj érte A Vcap egy nagyon fontos áramköri elem a 32mx-eknél, egyáltalán nem mindegy, milyen függöny mögötti játékok zajlanak, amiknek gyanútlan áldozatává válhatunk.

Például itt az 5. oldalon találni lehet pár karakterisztikát is, amikről az a sanda gyanúm van, hogy erősen hőmérséklet függőek is, amit ott elfelejtettek megemlíteni (apropó 100mhz-en még ott is eléri az impedancia a 2 ohm-ot). Másutt megtaláltam az x5r-ről, hogy csak 85 fokig kondenzátor. Semmit sem találtam ezeknek az új kondenzátoroknak a hőmérséklet függő öregedéséről, ami kicsit gyanús.

Szóval épp csak azon gondolkodom, mi van az apró betűben azokról a kondenzátorokról, amit nem a marketing rizsára értettem, és egészen konkrétan bizalmatlan vagyok a szakmai megbízhatóságukat illetően.
(#) Hp41C válasza pajti2 hozzászólására (») Jún 16, 2016 / 1
 
Most is érdemes más típusok adatlapját is olvasgatni: Pl. PIC24FJ16GA002 családét.
A 2.4 fejezetben sokkal részletesebb leírást találunk a Vcap -ra vonatkozó követelményekről.
A PIC254F -nél <5 ohm ESR elfogadható, PIC32 -nél családtól függően <2 ill. <1 ohm a követelmény.
A hozzászólás módosítva: Jún 16, 2016
(#) pajti2 válasza Hp41C hozzászólására (») Jún 16, 2016 /
 
Köszönöm a linket. Így már kicsit érthetőbb, hogy egyesek miért szeretnek tönkrement áramköröket javítgatni
(#) Zsora hozzászólása Jún 16, 2016 /
 
Üdv!
Kicsit belementem XC16 alatt a C és az Assembly nyelv vegyes használatába. Persze nem minden úgy működik ahogy várnám.
Az alábbi Assembly betétet pl. hibásan fordítja; a második utasításnál nem a W0 regisztert kellene használnia. Továbbá egy NOP-ot is beszúr, de miért?
(Szándékosan írtam / jelet a \ helyett; a fórummotor ráizgul.)

  1. asm ("do #7,1f/n lsr.b %1,%1/n 1: rlc.b %0,%0" : "=r"(retval) : "r"(val));

  1. 0002EE  BFD000     MOV.B  val, WREG
  2. 0002F0  080007     DO     #7, 0x2F6
  3. 0002F2  000001     NOP
  4. 0002F4  D14000     LSR.B  W0, W0
  5. 0002F6  D2C000     RLC.B  W0, W0
  6. 0002F8  B7F001     MOV.B  WREG, retval

Az alábbi formában megadva már jó: (de a NOP itt is bejön)

  1. asm("mov.b %1,wreg/n do #7,1f/n lsr.b w0,w0/n 1: rlc.b w1,w1/n mov w1,w0/n mov.b wreg,%0" : "=U"(retval) : "U"(val) : "w0","w1");

  1. 0002FA  BFD000     MOV.B  val, WREG
  2. 0002FC  080007     DO     #7, 0x302
  3. 0002FE  000001     NOP
  4. 000300  D14000     LSR.B  W0, W0
  5. 000302  D2C081     RLC.B  W1, W1
  6. 000304  780001     MOV    W1, W0
  7. 000306  B7F001     MOV.B  WREG, retval

A kérdés: Az első formának mi lenne a helyes megadási módja és miért?
Előre is köszi!
(#) cross51 válasza Zsora hozzászólására (») Jún 16, 2016 /
 
Érdekes mintha azt a kódot csinálnád amibe én kértem egy pár hozzászólással ezelőtt segítséget (a bit cím fordítás 7->1 6->2 ...).
Ezzel a problémával én is szembesültem, hogy assembly kódot kéne fordítson, de még optimalizációtól is függött, hogy a C-ben írt assembly kód, hogy néz ki a tényleges assembly-ben.
És a NOP a DO után nálam is ott volt bármilyen optimalizációra is állítottam a fordítót szerintem a Microchip úgy gondolja, hogy kell oda és kész.

Szerk.:
És az leső "megfogalmazás" móddal én is találkoztam és nálam is a W0-t piszkálta folyamatosan.
Én "megolásként" asm("rlc.b %1,%1":"=r"(retval):w0) írtam így kihagyta a W0-át, de nem rakta a w1-et a retval-ba. Nem értem én se pontosan, hogy miért csinálja.
A hozzászólás módosítva: Jún 16, 2016
(#) Zsora válasza cross51 hozzászólására (») Jún 16, 2016 /
 
Jól látod; az az a kód. Ez keltette fel az érdeklődésemet a C és Assembly kódok keverésére. Eddig a C-t hanyagoltam, de egy majdani feladatnál - úgy gondolom - szükség lesz rá.

Van olyan megoldás is hogy a C nyelvű modulból meghívok Assembly modulban lévő rutint, függvényt, vagy fordítva. A változókat is oda-vissza el lehet érni. Úgy a fordító nem szól bele az Assembly kódba; pont azt fordítja, amit írtam.

A te eredeti kódodnál egyébként az volt a probléma optimalizáláskor hogy külön ASM sorokba írtad az utasításokat, így a fordító nem kezelte összetartozónak. Helyesen optimalizált.
A hozzászólás módosítva: Jún 16, 2016
(#) Hp41C válasza Zsora hozzászólására (») Jún 17, 2016 /
 
Idézet:
„Továbbá egy NOP-ot is beszúr, de miért?”

A nop a do utasításkódjának második word -je. Ld.: Instruction summary
(#) Zsora válasza Hp41C hozzászólására (») Jún 17, 2016 /
 
Na ne! Köszi szépen!
Tudtam hogy 2 szavas a DO utasítás - akárcsak pl. a GOTO - de nem gondoltam hogy a disassembler így fordítja vissza. Ez elég megtévesztő - bár van benne logika; így a címek fixen 2-esével növekednek. Viszont amikor az assembly modulban írtam meg ugyanezt az utasítássort, akkor ezt így adta vissza:
A hozzászólás módosítva: Jún 17, 2016

DO.png
    
(#) Hp41C válasza Zsora hozzászólására (») Jún 17, 2016 /
 
Ugyan így van ez a PIC18 esetében is. A kódolást úgy alakították ki, hogy a második szó egy nop utasítás legyen. Ha ide kerülne a vezérlés (btfsc, btfss, stb) ne okozzon gondot. Az assembler jól fordít és listáz, de a disassembler nem kezeli jól a kétszavas utasításokat, hanem bambán visszafordítja a második szót nop -nak.
A hozzászólás módosítva: Jún 17, 2016
(#) Zsora hozzászólása Jún 17, 2016 /
 
Visszatérve az Assembly betétre:
Azt korábban nem írtam hogy a használt változókat a fenti példáknál globálisan definiáltam (tehát a main rutinon kívül). Ellenben ha helyileg definiálom őket, akkor már helyesen lesznek fordítva. Ezt nem igazán értem, bár tudom hogy eléggé hiányosak a C ismereteim, így biztosan kimaradt nekem valami.

  1. #include "xc.h"
  2.  
  3. extern char Forgat(char);
  4.  
  5. int main(void){
  6.        
  7.         unsigned char val, retval;
  8.         val=0xc0;
  9.         retval=0;
  10.        
  11.         asm("do #7,1f\n lsr.b %1,%1/n 1: rlc.b %0,%0":"=r"(retval):"r"(val));
  12.                
  13.         while(1);
  14. }

  1. 0002E4  FA0002     LNK     #0x2
  2. 0002E6  781F88     MOV     W8, [W15++]
  3. 0002E8  B3CC00     MOV.B   #0xC0, W0
  4. 0002EA  784F00     MOV.B   W0, [W14]
  5. 0002EC  EB4000     CLR.B   W0
  6. 0002EE  984710     MOV.B   W0, [W14+1]
  7. 0002F0  78401E     MOV.B   [W14], W0
  8. 0002F2  080007     DO      #7, 0x2F8
  9. 0002F4  000001     NOP
  10. 0002F6  D14000     LSR.B   W0, W0
  11. 0002F8  D2C408     RLC.B   W8, W8
  12. 0002FA  984718     MOV.B   W8, [W14+1]
  13. 0002FC  37FFFF     BRA     0x2FC
A hozzászólás módosítva: Jún 17, 2016
(#) balint730 hozzászólása Jún 18, 2016 /
 
Sziasztok.
Elkezdtem utánépíteni a PIC-es panelmérő II-t egy PIC18F25K80 tipussal. A cikkben található linken nem tudom letölteni a fájlt csak sok karaktert. Az lenne a kérdésem, hogy azt mibe kell bemásolnom, amit fel is ismer a PICkit 2 és rá is tudom majd tölteni?
A linken ez található: Bővebben: Link
(#) Bakman válasza balint730 hozzászólására (») Jún 18, 2016 /
 
Ez szerver oldali hiba. A hozzászólásom mellékletében lévőt le tudod tölteni?
A hozzászólás módosítva: Jún 18, 2016
(#) cross51 válasza Bakman hozzászólására (») Jún 19, 2016 /
 
Inkább oldali hiba, de hátha segít később valakinek. Ctrl+C a "sok karakterre" egy új txt ott Ctrl+V és a txt-t el kell menteni *.hex-ként és kész is van a hex fájl.
(#) Szárnyas válasza balint730 hozzászólására (») Jún 19, 2016 /
 
Jobb egérgomb - Hivatkozás mentése más néven.
(#) balint730 válasza Bakman hozzászólására (») Jún 19, 2016 /
 
Igen letudtam. Köszönöm!
(#) balint730 válasza Bakman hozzászólására (») Jún 19, 2016 /
 
Valami nem stimmel.
A PICkit 2 a géppel kommunikál de a Device-hoz azt irja hogy "No device found", amikor a lementett hex file-t akarom betölteni meg kiirja, hogy "Device Error - hex file not loaded".
A bekötést ellenőriztem kétszer az jó, mi lehet ilyenkor a gond? A forrasztásnál nagyon ügyeltem, hogy ne melegedjen túl.
(#) Saggitarius válasza balint730 hozzászólására (») Jún 19, 2016 /
 
Ha tovabbra is szeretnel PIC programozassal foglalkozni, akkor jobb lenne egy PICkit3-at beszerezned annal nincsenek korlatozasok. Az ICD3-t inkabb meg sem emlitem, mert az hobby celra draga.

PICkit3-at le lehet butitani PICkit2-ve!Bővebben: Link
(#) Lüke Aladár hozzászólása Jún 21, 2016 /
 
Sziasztok!

Olyan problémába ütköztem, hogy a korábban 16F887-re megírt és működő program részlet nem működik 18F2550-es IC-vel megfelelően. Konkrétan I2C-n nem hajlandó kommunikálni egy RTC-vel. Van valami trükkje a 18-as családnak, hogy az I2C megfelelően működjön? Soros port megy, az órajel rendben.
(#) Hp41C válasza Lüke Aladár hozzászólására (») Jún 21, 2016 /
 
Csak egy apró:
  1. Jel     16F887     18F2550
  2. SCL    RC3         RB1
  3. SDA   RC4          RB0
(#) Lüke Aladár válasza Hp41C hozzászólására (») Jún 21, 2016 /
 
Bocs, azt elfelejtettem írni, hogy jól van kötve De azért köszönöm!
(#) Hp41C válasza Lüke Aladár hozzászólására (») Jún 22, 2016 /
 
Nem csak a bekötést, hanem a TRIS regiszterek beállítását is meg kell változtatni. Beleszólhat még az A/D átalakító beállítása is: az AN10 és AN12 analóg bemenet van ezeken a lábakon.
(#) Wezuv hozzászólása Jún 26, 2016 /
 
Egy ideje már szórakozom a harmony TCP IP stack-el. Jelenleg csak úgy működik egy hardver reset után, hogy az oldal megnyitásakor az oldal nem található, "404: File not found
Use MPFS Upload to program web pages" Ekkor betallózom az mpfs_img2.bin állományt, feltölti és indul az oldal. A csavar a dologban, hogy az mpfs_img2.c állomány befordul a program területre, ott van a szükséges címen, még sem indul el. Ha nem fordítom be, akkor Upload után nem indul el semmi, tehát annak ott kell lennie. Ha az Upload funkciót tiltom, akkor egyáltalán nem működig, csak a "404: File not found" jön fel. Egyszerűen nem jövök rá, mit kéne beállítani ahhoz, hogy simán flash-ből induljon az oldal, mint régen a 18F-es stack-ekkel. Nagyon örülnék, ha valaki tudna segíteni!
(#) Droot hozzászólása Jún 26, 2016 /
 
Sziasztok!

Tudnátok ajánlani 128x64 pixeles (vagy akörüli, de kisebbet nem szeretnék) LCD kijelzőt, ami 3,3-3,6V-os tápról működik?
Egy PIC32-höz szeretném illeszteni. Elég sok dolog lesz a panelon így szeretnék megspórolni egy 5V-os tápot, pedig a KS0108 jó lenne.
(#) tikiss válasza Droot hozzászólására (») Jún 27, 2016 /
 
Szia!
Én az EA-DOGS102-őt használom, ami 102x64 pixeles, de van belőle 128x64-es is, EA-DOGL128.
(#) Droot válasza tikiss hozzászólására (») Jún 27, 2016 /
 
Köszi! Tetszik!
Külön kell megvenni a háttérvilágításhoz a ledes panelt ugye?
Elég húzós a kijelzővel együtt.
Pár fotót esetleg tudnál róla küldeni?
(#) bbalazs_ válasza Droot hozzászólására (») Jún 27, 2016 /
 
Egy 2.4 collos szines 320x240-es nem jatszik? banggoodon kb 2e es minden benne van.
(#) Droot válasza bbalazs_ hozzászólására (») Jún 27, 2016 /
 
De! A 3,3-3,6V-os táp fontos, valahol a kettő közt kellene működnie.
Milyen típusút láttál?
A legjobb lenne magyarországról számlával, de ha nincs más. Egyszerűen hihetetlen hogy emberi árút nem találni.
(#) cross51 válasza Droot hozzászólására (») Jún 27, 2016 /
 
Következő: »»   1228 / 1318
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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