Fórum témák

» Több friss téma
Fórum » CCS PIC Compiler
 
Témaindító: (Felhasználó 1542), idő: Ápr 3, 2006
Lapozás: OK   46 / 118
(#) vicsys válasza vilmosd hozzászólására (») Dec 26, 2010 /
 
Köszi. A generált tömbhöz kérhetnék egy mintasort is? Nekem csak mákszemek jelennek meg. Magyarán arra vagyok kíváncsi, hogy main()-be hogyan kezeled le a tömböt...
(#) messer válasza vilmosd hozzászólására (») Dec 26, 2010 /
 
Hát igen a pwm lekezelésénél én is rájöttem , hogy az előre gyártott függvények nem mindig jók, de így hogy asm-szinten kezelem a dolgokat átláthatóbbá válnak a dolgok
(#) vilmosd válasza vicsys hozzászólására (») Dec 26, 2010 /
 
Hali
A CCS-forumon levo driverbe nem tudod valahogy beilleszteni a generalt C-t? Meg sajnos nem volt szerencsem ilyen kijelzohoz, igy csak atolvasni tudom (esetleg szimulalni), kiprobalni nem. De a CCS forumban levo pelda alapjan probald meg a generalt abrat felhasznalni. Szerintem menni fog.
(#) vicsys válasza vilmosd hozzászólására (») Dec 26, 2010 /
 
Persze, azt próbáltam. KS vezérlővel működik is, de itt nem.
A másik kérdésem az lett volna, hogy hogyan tudok nagyobb karaktereket használni? Erre sajnos nincs függvény.
(#) vilmosd válasza vicsys hozzászólására (») Dec 26, 2010 /
 
Generalsz pontokbol nagyobb karaktereket, es grafikusan rakod ki. Tehat mintha kepet raknal ki. Meg szebb karaktereket is csinalhatsz. Pl valami kepszerkesztoben berakod a TTF karaktereket, majd a BMP-t atteszed C formara. Mar lehet is kiirni a kepernore. Mondjuk jo kis munka, es eszi is a memoriat, de nem 16F84-be kell irni, hanem valami meretesebb uC-be.
(#) vicsys válasza vilmosd hozzászólására (») Dec 26, 2010 /
 
Itt a 22-es csapdája. Egyenlőre csak a minta alapján tudok 8x11-es grafikus képet kirakni. Ötlet?
(#) vilmosd válasza vicsys hozzászólására (») Dec 26, 2010 /
 
Most igy hirtelen nem sok, jobban bele kellene melyedni, de most nincs tobb idom. Probald meg amit irtam. Vesezd ki a driver fvenyeit, es hatha rajossz a megoldasra.
(#) vilmosd válasza vicsys hozzászólására (») Dec 26, 2010 /
 
Hali
Ezt lesd meg. Fontot konvertal C stringge.
(#) vicsys válasza vilmosd hozzászólására (») Dec 27, 2010 /
 
Úgy néz ki, összejött! Köszi!
(#) vilmosd válasza vicsys hozzászólására (») Dec 27, 2010 /
 
Szep. De legalabb aruld el a megoldast!
(#) vicsys válasza vilmosd hozzászólására (») Dec 27, 2010 /
 
Roppant egyszerű! Letöltöttem a "Bitmap2LCD Basic" programot és úgy konfigoltam, hogy hasonló bittérképet kreáljon mint a példa. Ezután kreáltam betűket és létrehoztam 1-1 tömböt nekik. Valahogy így néz ki:
  1. int8 y_logo[] ={
  2. 0b00000000,  0b00000000 ,  0b00000000 ,  0b00000000 ,
  3.  0b00000000,  0b00000000 ,  0b00000000 ,  0b00000000 ,
  4.  0b00000000,  0b00000000 ,  0b00000000 ,  0b00000000 ,
  5. ...

Majd a programban:
  1. glcd_image8(&y_logo[0] ,150,15,32,32);

Itt az első 2 szám a pozíció, az utolsó kettő pedig a kreált kép mérete. Remélem érthető...?
(#) vilmosd válasza vicsys hozzászólására (») Dec 27, 2010 /
 
Ja
(#) messer hozzászólása Dec 27, 2010 /
 
Helló! A getc parancs érdekelne, hogy hogyan is működik. ha erre a parancsra ugrik a programom akkor addig várakozik itt amíg nem érkezik vagy érkezett használható adat a soros vonalra?
(#) vilmosd válasza messer hozzászólására (») Dec 27, 2010 /
 
Hali
Ja, meg igen:
Idézet:
„This function waits for a character to come in over the RS232 RCV pin and returns the character. If you do not want to hang forever waiting for an incoming character use kbhit() to test for a character available. If a built-in USART is used the hardware can buffer 3 characters otherwise GETC must be active while the character is being received by the PICŽ.
(#) messer válasza vilmosd hozzászólására (») Dec 28, 2010 /
 
Akkor lehet, hogy itt is érdemes elhagyni a beépített dolgot, és simán olvasni a vételi regisztert természetesen közben figyelve hogy van-e vett adat (jelző bit) a regiszterben. Vagy figyelni kbhit() tehát ha a kbhit() 1 akkor lehet olvasni a getc-vel mert akkor biztos hogy van legalább egy vagy több olvasható adat a vételi bufferben? Elég csínnyán vagyok időkkel ezért még el kell döntenem hogy mivel időzik kevesebbet a program.
(#) vilmosd válasza messer hozzászólására (») Dec 28, 2010 /
 
Hali
En IT-s kezelest csinaltam, es egy buffert. Igy nem all le a getc() hatasara, es nem is veszitek adatot. A CCS mintapeldak "Ex_sisr.c" peldajara oldottam meg.
(#) messer válasza vilmosd hozzászólására (») Dec 28, 2010 /
 
Ok, és ez a kbhit( egy jelző flag adig ad igazat amíg a fifo-ban van legalább egy érték.
(#) vilmosd válasza messer hozzászólására (») Dec 28, 2010 /
 
Idézet:
„If the RS232 is under software control this function returns TRUE if the start bit of a character is being sent on the RS232 RCV pin. If the RS232 is hardware this function returns TRUE if a character has been received and is waiting in the hardware buffer for getc() to read. This function may be used to poll for data without stopping and waiting for the data to appear. Note that in the case of software RS232 this function should be called at least 10 times the bit rate to ensure incoming data is not lost.

Ez addig ad vissza TRUE-t ha a bufferben van vett adat, es amig a getc() fvennyel nem olvastad ki.
(#) messer válasza vilmosd hozzászólására (») Dec 28, 2010 /
 
Köszönöm, érdekes ez a ccsc a végén mindig a saját parancsait használom mert úgy egyszerű de addig amíg az adatlap alapján ki nem próbáltam nem merem használni őket Így legalább bit szinten megértem, én is mostanában álltam át az asm-röl és még mindig arra rugózik az agyam.
(#) messer válasza messer hozzászólására (») Dec 28, 2010 /
 
Vilmos a OERR (recive buffer error status)-ra van valami beépített jelző mint a (kbhit()) vagy hozzak létre egy mutatót? Egyenlőre a ccsc manualban nem találltam.
(#) vilmosd válasza messer hozzászólására (») Dec 28, 2010 /
 
Hali
Kb igy:
  1. #BYTE rcsta = 0x18
  2. #BIT  oerr = rcsta.1
  3. .
  4. .
  5. if (oerr)
  6. {
  7. .         // Overrun error lekezeles.
  8. }
(#) messer válasza vilmosd hozzászólására (») Dec 28, 2010 /
 
Aha én is ezt tettem, csak azt reméltem, hogy van erre is egy beépített flag.
(#) messer válasza vilmosd hozzászólására (») Dec 28, 2010 /
 
Vilmos lenne még egy olyan kérdésem:Ha van 2 db 8 bites változóm és egy 16bites. Szeretném a 2db 8 bites tartalmát bele tenni úgy a 16-osba, hogy az alsó 8 bitet az egyik 8bites adja a felső 8 bitet a másik 8 bites adja!?
(#) vilmosd válasza messer hozzászólására (») Dec 28, 2010 /
 
Hali
Kb igy:
  1. union T1_16
  2. {
  3.         int16   t1_int;
  4.         struct
  5.         {
  6.         int     t1_cntl ;
  7.         int     t1_cnth ;
  8.         };
  9. } t1_cnt16;

Itt letrehoztunk egy 16 bites valtozot, es 2 8 bitest.
A felhasznalas:
  1. t1_cnt16.t1_cntl=0x5A;
  2. t1_cnt32.t1_cnth=0xFF;
  3. TMR1=t1_cnt16.t1_int;  // TMR1 = 0xFF5A
(#) messer válasza vilmosd hozzászólására (») Dec 28, 2010 /
 
hmm köszönöm
(#) whalaky válasza messer hozzászólására (») Dec 28, 2010 /
 
vagy így
T1_cnt16 = make16( T1_cnth, T1_cntl);
(#) pinternorbert82 hozzászólása Dec 30, 2010 /
 
Hello mindenkinek Ha szépen meg kérnélek benneteket nem tudna valaki ötletet mondani vagy , küldeni egy programot mert a ccs. oldalrol nem tudom letölteni még a demót sem? Arra a programra gondolok amivel programot lehet irni.
(#) whalaky válasza pinternorbert82 hozzászólására (») Dec 30, 2010 /
 
Itt próbáltad már?
Ha "kicsit" visszalapozol vannak itt okosságok, de google barátunk is sokat segíthet.
Ha végleg nem boldogulsz vele privi ....
W
(#) vicsys válasza pinternorbert82 hozzászólására (») Dec 30, 2010 /
 
(#) icserny válasza pinternorbert82 hozzászólására (») Dec 30, 2010 /
 
A demó is letölthető (én nem vágynék rá,annyira korlátozott!), ebben a topikban is található még működő link (természetesen van elavult is, ami már nem él). Ha ezekkel nem tudsz mit kezdeni, akkor hiába adunk tíz másik linket.

Mellesleg, ha nincs rá nyomós okod, hogy a CCS C-hez ragaszkodj, akkor bölcsebb a gyártó ingyenes fejlesztői eszközeit használni.
Következő: »»   46 / 118
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