Fórum témák
» Több friss téma |
Fórum » CCS PIC Compiler
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...
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
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.
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.
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.
Itt a 22-es csapdája. Egyenlőre csak a minta alapján tudok 8x11-es grafikus képet kirakni. Ötlet?
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.
Hali
Ezt lesd meg. Fontot konvertal C stringge.
Úgy néz ki, összejött! Köszi!
Szep. De legalabb aruld el a megoldast!
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:
Majd a programban:
Itt az első 2 szám a pozíció, az utolsó kettő pedig a kreált kép mérete. Remélem érthető...?
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?
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Ž. ”
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.
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.
Ok, és ez a kbhit( egy jelző flag adig ad igazat amíg a fifo-ban van legalább egy érték.
Idézet: Ez addig ad vissza TRUE-t ha a bufferben van vett adat, es amig a getc() fvennyel nem olvastad ki. „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. ”
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.
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.
Hali
Kb igy:
Aha én is ezt tettem, csak azt reméltem, hogy van erre is egy beépített flag.
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!?
Hali
Kb igy:
Itt letrehoztunk egy 16 bites valtozot, es 2 8 bitest. A felhasznalas:
vagy így
T1_cnt16 = make16( T1_cnth, T1_cntl);
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.
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
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. |
Bejelentkezés
Hirdetés |