Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1239 / 1318
(#) Wezuv válasza Attila86 hozzászólására (») Nov 28, 2016 /
 
Tárolj mindent fordítva, más gyors megoldás nincs.
A hozzászólás módosítva: Nov 28, 2016
(#) benjami válasza Attila86 hozzászólására (») Nov 28, 2016 /
 
Ahol lehetséges ne futás közben forgasd a biteket, hanem fordítás közben. Így ott semmit sem lassul a program futása.
  1. #define RGB888TO565(r, g, b)  ((r & 0b11111000) << 8 | (g & 0b11111100) << 3 | b >> 3)
  2. #define REVERSE16(d)          ((d & 0x0001) << 15 | (d & 0x0002) << 13 | (d & 0x0004) << 11 | (d & 0x0008) << 9 | \
  3.                                (d & 0x0010) <<  7 | (d & 0x0020) <<  5 | (d & 0x0040) <<  3 | (d & 0x0080) << 1 | \
  4.                                (d & 0x0100) >>  1 | (d & 0x0200) >>  3 | (d & 0x0400) >>  5 | (d & 0x0800) >> 7 | \
  5.                                (d & 0x1000) >>  9 | (d & 0x2000) >> 11 | (d & 0x4000) >> 13 | (d & 0x8000) >> 15)

Ezzel a két makróval a következő módon tudsz előállítani egy sárga színt felcserélt bitsorrendben:
  1. uint16_t color = REVERSE16(RGB888TO565(255, 255, 0))

Az inicializáló konstansoknál ugyanígy felhasználható ez a módszer:
  1. static const uint16_t ST7781_regValues[] = {
  2.   REVERSE16(0x0001),REVERSE16(0x0100),
  3.   REVERSE16(0x0002),REVERSE16(0x0700), ...

Sajnos ahol számított értékeket (pl. koordinátát) kell kiraknod, ott nem fogod megúszni a futás közbeni bitforgatást.
(#) Attila86 válasza benjami hozzászólására (») Nov 28, 2016 /
 
Ez tök jó, köszönöm! Közben kiderült hogy más is rossz a panelon, két elírás van ugyanis a TFT gyári adatlapjában, így mindenképp teljesen újra kell terveznem a panelt és akkor már megfordítom a PORTB-t rendesen.
(#) pajti2 hozzászólása Dec 2, 2016 /
 
Fel kellene valahogyan kutatnom a Microchip termék konkurenseket a 32 bites processzor piacon. Valamikor volt róla egy remek jó kis doksi linkem, de elkallódott és nem találom sehol. Aki tud róluk egy listát valahol neten, dobjon egy linket legyen szíves.
(#) JosKa hozzászólása Dec 2, 2016 /
 
Üdv mindenkinek!

Automata haletető vezérlésén töröm a fejemet. A konstrukció röviden: motor, spirál egy csőben, viszi előre a kaját ami lepotyog a cső végén. A vezérlés PIC-kel fog történni, pl naponta egyszer bepotyogtat egy kicsit - nem ez a része fog problémát okozni.

Egy belső számlálót a hálózati 50Hz-es hálózathoz szeretnék szinkronizálni wireless. Arra gondolok, hogy 10-15cm antenna (ha nem kell annál jobb), felerősítem majd egy komparátorba vezetem a jelet, ami akkorra egy 50Hz-es négyszögjel.

Igen.. Tudom, hogy a internal oscillator, trafón keresztül zero-cross detection, 32.576Khz kvarc is megoldás lehet, mégis a fent vázolt ötleten indulok el - néhány éve egy wordclock készítésekor ütött szöget fejembe az ötlet és azóta szeretném megvalósítani.

A kérdésem az lenne, hogy épített/látott ilyen áramkört/megoldást?

Üdv: Balázs
(#) pajti2 válasza JosKa hozzászólására (») Dec 2, 2016 /
 
A hálózat Magyarországon nem 50 hz, hanem 60

Keress egy vezetéket valahol, amin keresztül áram folyik, rakj mellé egy vasmagot, a vasmagra tekercset, kész az órajeled. Persze utána még erősítő, meg komparátor, meg minden.
(#) Bakman válasza pajti2 hozzászólására (») Dec 2, 2016 /
 
Idézet:
„A hálózat Magyarországon nem 50 hz, hanem 60”
Mióta?
(#) pajti2 válasza Bakman hozzászólására (») Dec 3, 2016 /
 
Oké, azt elnéztem egy kontinensnyit
(#) kissi válasza JosKa hozzászólására (») Dec 3, 2016 /
 
Szia!
Idézet:
„Egy belső számlálót a hálózati 50Hz-es hálózathoz szeretnék szinkronizálni wireless. Arra gondolok, hogy 10-15cm antenna (ha nem kell annál jobb), felerősítem majd egy komparátorba vezetem a jelet, ami akkorra egy 50Hz-es négyszögjel.”


De miért ?! A hálózati 50 Hz nem pontos, függ a hálózat terhelésétől: ezt régen jól megfigyelhettük a szinkron motoros óráknál ( nekem még volt ilyen !), képes volt akár napi 10-20 percet késni/sietni..., azaz pontos időzítésre alkalmatlan ! A PIC-el ellenben "kapásból" tudsz "bármennyi" időt mérni ettől sokkal pontosabban és nincs szükséged kiegészítő áramkörökre ( nem kell ide nullátmenet figyelés és külön kvarc ! ) !
(#) ktamas66 válasza pajti2 hozzászólására (») Dec 3, 2016 /
 
(#) ktamas66 válasza JosKa hozzászólására (») Dec 3, 2016 /
 
De miért wireless (hacsak a kihívás miatt nem, bár nekem az oszcilloszkóp képes az asztali lámpám kapcsitápjának a frekiét is mutatni )? Sok picben már van ZCD modul, így a saját tápjáról is veheti a jelet.
(#) Wezuv válasza JosKa hozzászólására (») Dec 3, 2016 /
 
Egy kis trafó nem jó? De ez nagyon nem PIC haladó kérdés...
(#) killbill válasza kissi hozzászólására (») Dec 3, 2016 /
 
Idézet:
„A hálózati 50 Hz nem pontos, függ a hálózat terhelésétől: ezt régen jól megfigyelhettük a szinkron motoros óráknál ( nekem még volt ilyen  !)”
Csak közben eltelt 25 év. Ma már az 50Hz nagyon pontos. A frekvencia maga kicsit mozog fel is, le is, de a napi (azt hiszem, napi) periodusszám pontosan megvan. Azokat az órákat a nyugati piacra szánták, és ott nem voltak pontatlanok. De akkoriban Magyarország nem a nyugati hálózattal volt szinkronban, hanem a szocialistával. Ami viszont mindig kevesebb volt, mint 50 Hz, mert ezzel spóroltak.
(#) kissi válasza killbill hozzászólására (») Dec 3, 2016 1 /
 
Idézet:
„Ma már az 50Hz nagyon pontos. A frekvencia maga kicsit mozog fel is, le is, de a napi (azt hiszem, napi) periodusszám pontosan megvan.”

Szerintem az nem sokat jelent neki, hogy napi szinten pontos, mert valami "haletetéshez" akarja használni, az meg nem tart egy napig !
Viszont szerintem ez most is igaz:
Idézet:
„A PIC-el ellenben "kapásból" tudsz "bármennyi" időt mérni ettől sokkal pontosabban és nincs szükséged kiegészítő áramkörökre ( nem kell ide nullátmenet figyelés és külön kvarc ! ) !”
(#) pajti2 válasza ktamas66 hozzászólására (») Dec 4, 2016 /
 
Köszi!
(#) HeZ válasza JosKa hozzászólására (») Dec 4, 2016 / 3
 
Bresenham algoritmussal tetszőleges idő-frekvencia pontosság megvalósítása: Roman Black 1 sec
50000.00000 Hz - 0.00001 Hz előállítása 0.00001 Hz lépésenként BÁRMILYEN ismert frekvenciájú kvarcból PIC-en: High accuracy PIC timing

Érdemes körülnézni és tanulni Mr Black kollégánk számos, brilliáns módon megoldott ÉS érthetően leírt, mérési adatokkal fűszerezett gyakorlati megoldásaiból.
A hozzászólás módosítva: Dec 28, 2016
(#) aroxol hozzászólása Dec 11, 2016 /
 
Sziasztok!

Tudna valaki egy példát írni asm-ben, hogy PIC18f26k22 hogyan tudja olvasni a saját program memóriáját?
(#) kissi válasza aroxol hozzászólására (») Dec 11, 2016 /
 
Szia!

Adatlap 77. oldaltól miért nem jó ?!
(#) aroxol válasza kissi hozzászólására (») Dec 11, 2016 /
 
Szia!

Nem tudom milyen adatlapot nézel, amit én találtam ott nincs a 77. oldalon info.
(#) kissi válasza aroxol hozzászólására (») Dec 11, 2016 /
 
Amit a HeStore felajánl a hozzászólásodnál: Bővebben: Link

Bővebben: Ezt láttam!
A hozzászólás módosítva: Dec 11, 2016
(#) bbalazs_ válasza aroxol hozzászólására (») Dec 11, 2016 /
 
mov TBLPTRU,0x20;legfelso, upper byte
mov TBLPTRH,0x12;hi byte
mov TBLPTRL,0x34;lo byte
TBLRD*+
movff TABLAT,memcimed

Ez a 0x201234-es EEPROM cimrol olvas egy byteot a TABLAT regiszterbe, majd atmenti a memcimed-be, ami mar a RAMban van. Es noveli a TBLPTR regiszter erteket is eggyel, tehat a kovetkezo cimnel mar csak egy TBLRD-t kell kiadni, es egybol beolvassa.
(a mov az az en macrom, tulajdonkeppen egy
movlw ertek
movwf cim
kombobol all.)
A hozzászólás módosítva: Dec 11, 2016
(#) Hp41C hozzászólása Dec 12, 2016 /
 
Csúfos véget ért, pedig hogy vártuk éveken át: Bővebben: Link
Idézet:
„Revision G (December 2016)
A recommendation was added to the first page, indicating that the PIC32MZ Embedded Connectivity (EC) Family of devices are not recommended for use in new designs. Instead, the PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Family of devices should be used.”
(#) Wezuv válasza Hp41C hozzászólására (») Dec 12, 2016 /
 
Aki használt EC-t, azt nem érti, hogyan lehetett eddig egyáltalán kínálatban. A hír örömteli. Az EF használható kategória és teljesen kompatibilis az EC-vel. Bár akinek volt szerencséje tájékozódni, az eleve EF-et vett. Nekem nem volt...
A hozzászólás módosítva: Dec 12, 2016
(#) cross51 válasza Wezuv hozzászólására (») Dec 12, 2016 /
 
Én mikor el kellet kezdjek foglalkozni MZ-vel Bővebben: Link ennek a kapcsolásából indultam el, és nem értettem, hogy az MC doksijai között nem találtam EC 32MZ-t csak az EF-eket, nekem szerencsés szerencsém volt és nem kellet összefussak az EC-kel.
(#) Attila86 hozzászólása Dec 12, 2016 /
 
Egy dsPIC33EP512MC504-nek az RA4-es lábán szeretnék egy PWM jelet elővarázsolni, de az sehogy nem akar előbújni belőle. Ezeket állítottam be:
  1. TRISAbits.TRISA4=0;
  2. ANSELAbits.ANSA4=0;     //RA4 digitális
  3. RPOR0bits.RP20R=0b010010;       //Az RP20 lesz az OC3
  4. OC3CON1bits.OCTSEL=0b111;   //az OC3 modul órajele az Fp
  5. OC3CON1bits.ENFLTB=0;       //hiba-bemenet tiltva
  6. OC3CON1bits.ENFLTA=0;       //hiba-bemenet tiltva
  7. OC3RS=1000;                 //1000-ig megy az OC3
  8. OC2CON1bits.OCM=0b110;      //sima PWM mód
  9. OC3CON2bits.SYNCSEL=0b11111;    //az OC3RS komparálási eseményt használjuk triggerelésre
  10. OC3R=500;      //50%-os kitöltés

Mit rontok el? Nem hiszem hogy kellene más ezeken kívül.
(#) Zsora válasza Attila86 hozzászólására (») Dec 12, 2016 /
 
A 8. sorban biztosan az OC2 első vezérlőregiszterét szeretnéd beállítani? (OC2CON1)
Nem inkább OC3CON1 kellene?
(#) Attila86 válasza Zsora hozzászólására (») Dec 12, 2016 /
 
Valóban azt elírtam. Köszönöm!
(#) Zsora válasza Attila86 hozzászólására (») Dec 12, 2016 /
 
Esetleg még megnézném az OC3CON2.OCTRIS vezérlőbitet.
(#) Wezuv hozzászólása Dec 23, 2016 /
 
Sziasztok!
Egy PIC32MZ EFH-val fejlesztek harmony TCPIP és USB appokkal. Belefutottam egy kérdéses részbe, amit nem tudok eldönteni, hogy idegesítsen, vagy megnyugodhatok. Az USB-s részhez csak EFM library fájl (PIC32MZ2048EFM100_peripherals.a) ezzel fordul és fut az EFH PIC-en, de a TCPIP-hez adott EFH library fájllal nem fut az USB, viszont a TCPIP fut az USB-s EFM állománnyal. Igazából nem tudom pontosan, hogy ezek a fájlok mit írnak le, milyen gondot okozhatnak. Egyébként minden fut az EFM-es fájllal, amit eddig írtam (UART, SQI Flash, TFT PMP, SPI, I2C és most USB, TCPIP szerver.)
Nagy segítség lenne, ha tudnám, hogyan vesznek részt a fordításban ezek a library fájlok...
(#) pajti2 válasza Wezuv hozzászólására (») Dec 25, 2016 /
 
Idézet:
„Nagy segítség lenne, ha tudnám, hogyan vesznek részt a fordításban ezek a library fájlok...”
Részint lesz ott egy project file, amibe ha notepaddal belenézel, fel vannak benne sorolva forrás állományok, részint a forrás file-okban is lehetnek include-ok, amik behúznak további headereket és forrásokat. Aztán a tool chain egybe szed mindent, és fordítja.

Amúgy hogyan kell azt érteni, hogy a tcp fut az usb-vel? A harmonyvel még nem ismerkedtem közelről, de mintha az lenne a koncepció, hogy a kommunikációs felületek mindegyike el van különítve külön modulba. Nem kellene azoknak összeakadniuk, vagy bármilyen zavaró hatással lenniük egymásra. Még annyira alapvető hiba is van a harmonyben, hogy összeakadnak a modulok?

Mz efh boardból mit találtál, amin kísérletezel?
Következő: »»   1239 / 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