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   18 / 118
(#) potyo válasza Jossz hozzászólására (») Feb 10, 2009 /
 
Akkor csak a gyári fordítókkal érdemes dolgoznod. Azokhoz lehet példaprogramokat is találni bőségesen.
(#) Jossz válasza potyo hozzászólására (») Feb 12, 2009 /
 
Potyo, utánanéztem kicsit a neten a "konkurens" fordítóknak.
Nagyon-nagyon dicsérik a HiTech Picc18-at és a Picc32-t. Állítólag rendkívül kidolgozott, nagyon optimalizált kódot készít és ráadásul hasonlít az ANSI C-re illetve a C#-re, amivel én PC-re dolgozom. Ha ez igaz, akkor nekem erre kell áttérnem, azt hiszem... Igaz az ára rendesen húzós (1500$), de van LITE verziója, amely ingyenes és csak a kódoptimalizálás van "lebutítva", más korlát nincsen benne, tehát tanulni kiváló lehet. Mit hallottál róla, igazak ezek a vélemények?
(#) icserny válasza Jossz hozzászólására (») Feb 12, 2009 /
 
Talán azt is meg kellene fontolni, hogy mire használod majd. Mert ha egy-egy komolyabb feladathoz másoktól kell átvenni valamit (periféria-könyvtár, adatfeldolgozási könyvtár, grafikus könyvtár, USB/Ethernet stack, RTOS vagy egyéb operációs rendszer), akkor majd az diktálja, hogy melyik fordítót kell használni. Ebből a szempontból nézve a Microchip fordítói esélyesebbek.

Nem véletlen, és nem ízlésficam, hogy PC-ken mai napig is használunk FORTRAN-t. Bizonyos programok, könyvtárak csak ilyen nyelven állnak rendelkezésre...
(#) potyo válasza Jossz hozzászólására (») Feb 12, 2009 /
 
Igen, a Hi-Tech fordítói nekem is nagyon profinak tűnnek, a Microchip fordítói annyi előnnyel rendelkeznek vele szemben, hogy gyáriak, és emiatt többen használják azokat.

A Lite verzió egy problémáját találtuk itt a fórumon nemrég, hogy az általunk beírt utasítások közé betesz további utasításokat, amik oda nem kellenének. Konkrétan emiatt az EEPROM írás nem működött, mert a MOVLW 0x55 MOVWF EECON2, MOVLW 0xAA MOVWF EECON2, BSF EECON1, WR utasítások közé bekerült más utasítás, és nem egymás után futott le a fent említett szekvencia. De ha a feladatban nem volt ilyen szigorú megkötés, akkor egyébként minden szempontból működő kódot kapunk. Tehát az, hogy csak a kódoptimalizálás van lebutítva, az azért egy kicsit sarkított változata az igazságnak, mert teljesen felesleges utasításokat helyezett el - nem csak arról volt szó, hogy nem ismeri fel, hogy az IF (i&0x80) feltételnél nem kell a MOVF i, W, ANDLW 0x80 majd ezután BTFSS STATUS, Z művelet, hanem elég csak egy BTFSS i,7-el ellenőrizni. De ismerkedéshez, kipróbáláshoz jó, azután pedig ha kell, akkor megveszed. Mintha lenne valami Pro Trial változat is, abban talán nincs ez a plusz kód berakás.
(#) Jossz válasza icserny hozzászólására (») Feb 12, 2009 /
 
Teljesen igazad van. Ezek a dolgok nagyon fontosak, ugyanúgy, mint a példaprogramok és a meglévő driverek. Ezeket még le kell ellenőriznem, a gyári leírás szerint a Lite ugyanazokat tartalmazza, mint a kereskedelmi verzió. Megnéztem a fórumukat is, jónak tűnik, rengeteg téma, példa és hozzászólás... Mondjuk az is mellettük szól, hogy többféle MCU-ra is fejlesztenek compilert, többek között Atmelre is, amely, mint tudjuk meglehetősen népszerű. Egyébként saját szabadalmakon, fejlesztéseken dolgozom, esetenként meglehetősen bonyolult feladatok elé állítom magamat gépészetileg, elektronikailag és programozás-technikailag. Nyilván, ezért is érdekel, hogy mit hallottatok róla, mert ha átállok, akkor át kell írnom az eddigi programjaimat is és azokból eléggé sok van...
(#) Jossz válasza potyo hozzászólására (») Feb 12, 2009 /
 
Látod, ez egy nagyon hasznos info máris, köszönöm is, mert rengetegszer használok eeprom írást, külsőt is, belsőt is. Nyilván a cég nem akarja minden kártyáját kiteregetni, ez viszont csúnya dolog... ilyenkor feljogosítva érzem magamat, hogy az első időkre megszerezzem magamnak a ker. verziót.
Később úgyis meg kell vennem, hiszen a termékeinknek rendelkeznie kell jogtiszta forrásokkal.
Az ilyen lebutításokkal viszont valóban nem lehet tanulni, vaktában meg az ember gyereke nem ad ki 1500 dodót ebben a válságos világban, nem igaz?
(#) Jossz válasza potyo hozzászólására (») Feb 12, 2009 /
 
Igen van trial verzió, de csak 30 napos. Azt meg kicsit kevésnek tartom az alapos kipróbáláshoz, miután sajna nem tudok állandóan a programozó gépem előtt ülni...
(#) icserny válasza potyo hozzászólására (») Feb 12, 2009 /
 
Idézet:
„Tehát az, hogy csak a kódoptimalizálás van lebutítva, az azért egy kicsit sarkított változata az igazságnak”

Nem bontották ki az igazság minden részletét...

Ami a legendás minőséget illeti: az Omniscient Code Generation-ban lehet valami. Megpróbál összegyűjteni minden információt az összes forrásfájlból,hogy egy átfogóképet kapjon a programról, mielőtt nekifogna az object kód generálásának.

Van erről itt egy cikk is.

Pozitívum, hogy Linux alatt is használható. Negatívum, hogy Windows alatt csak rendszergazda jogokkal müködik az MPLAB alól.

---------

Idézet:
„Igen van trial verzió, de csak 30 napos.”

45 napos - bár ez sem sokkal több....
(#) potyo válasza icserny hozzászólására (») Feb 12, 2009 /
 
Szerintem semmi köze az Omniescent Code Generation-hoz. A teljes verzió nem gyártott bele semmi plusz utasítást. Nekem egyértelműen a Lite verzió butításának tűnt a dolog.
(#) Jossz válasza icserny hozzászólására (») Feb 12, 2009 /
 
Érdekes a cikk, köszi. Csak átfutottam, de majd elolvasom alaposan, minden esetre működési ábra és a kódhossz összehasonlító táblázat eléggé meggyőző.
(#) icserny válasza potyo hozzászólására (») Feb 12, 2009 /
 
Idézet:
„Szerintem semmi köze az Omniescent Code Generation-hoz.”

Bocs, ha félreérthető voltam: Az Ominscent Code Generation csak a teljes változatban van benne, s nem az EEPROM írásra, hanem egy korábbi megjegyzésre ("Állítólag rendkívül kidolgozott, nagyon optimalizált kódot készít") utaltam a "legendás minőség"-gel. Csak nem akartam litániát írni....
(#) Jossz válasza potyo hozzászólására (») Feb 12, 2009 /
 
Valószínűleg így van, ahogy mondod. Nem ők találták fel ezt az üzleti módszert... Dolgozik a pasi, tetszik neki a darab, egyre merészebb lesz, egyre bonyolultabb dolgokat akar megcsinálni... Aztán egyszer csak nem megy, vagy hibásan megy. Ez egy jó módszer arra, hogy akinek addig megtetszett, az megnyissa a pénztárcát és megvegye a teljes, hibátlan verziót. Ezt hívják más "szakmákban" beetetésnek, nemde?
(#) morgan666 hozzászólása Feb 16, 2009 /
 
Hello,
egy betores vedelmi projekten dolgozom, mostanra elkeszitettem az aramkoroket. A projekthez PIC18F4620-as mikrokontrollert hasznalok. A kerdesem az lenne, hogy ti szerintetek mit hasznaljak MicroC-t vagy MPlabot, melyik lenne elonyosebb?
(#) potyo válasza morgan666 hozzászólására (») Feb 16, 2009 /
 
Ezek között nem lehet választani, mert a kettő közel sem ugyanarra való. A MikroC egy fordító, az MPLAB pedig egy komplett fejlesztőkörnyezet. De ha már 18F-et használsz, akkor miért nem C18 fordítót?
(#) icserny válasza potyo hozzászólására (») Feb 16, 2009 /
 
Szerintem arra gondolt... Csak azt nem értem, hogy ez hogy jön a CCS topikba?
(#) Jossz válasza morgan666 hozzászólására (») Feb 16, 2009 /
 
Igen, szerintem is akkor már legyünk stílusosak: szerintem használj MPLAB-ot, mint fejlesztőkörnyezetet és abban pedig a projekt elkészítéséhez CCS C-t, mint fordítót. Egészen jól kijönnek egymással, a CCS C kisebb hisztériái ellenére...(lásd. feljebb)
(#) potyo válasza Jossz hozzászólására (») Feb 16, 2009 /
 
Szerintem meg használjon C18-at, ha már 18F chipet használ...
(#) morgan666 hozzászólása Feb 17, 2009 /
 
Bocsi, hogy ide irtam, csak nem akartam nyitani egy uj topikot. Az en tudomasom szerint a MikroCnek is van fejlesztoi felulete, akar csak az MPlabnak. Engem az erdekelt volna, hogy melyikbe konyebb dolgozni, mert ugy hallottam, hogy Mikrocben sok fuggveny meg van irva, pl. UART, PWM mig MPlabban minden regisztert egyesivel be kenne allitsak.
(#) icserny válasza morgan666 hozzászólására (») Feb 17, 2009 /
 
Végig kell gondolni a szempontokat. Én az MPLAB-ot választanám, mert ebben tudok szimulálni, debuggolni a PICkit2-vel, azt pedig nem hátránynak, hanem előnynek vehetjük, hogy a regisztereket egyenként állítjuk, ugyanis így legalább tudható, hogy mit csinál a program.

Ha valaha Microchip fejlesztői kártyákat használsz majd, akkor azokhoz is a Microchip fordítóihoz írt programokat találsz majd.

Normális RTOS-t sem láttam még MikroC-hez vagy CCS-hez írva (kivéve a CCS saját PIC18-as RTOS-át).

(#) doszo hozzászólása Feb 27, 2009 /
 
Sziasztok !

Valaki meg tudná mondani hogy tundnám a CCS ben a 64128G tipusu LCD kijelzőmet használni ?
s6b1713 chip van ebben ami KS0713 al kompatibilis, a gond vele hogy a CS2 lába nincs a kijelzönek , ebben az esetben hogyan kössem be, vagy milyen drivert kell hozzá használnom ?

Előre is köszönöm a segítséget !

(#) Jossz válasza doszo hozzászólására (») Feb 27, 2009 /
 
Ha nem okoz gondot, rakd fel ide a cucc adatlapját, hadd nézzünk bele, talán akkor tudunk valami okosat is mondani...
(#) pepe33 válasza Jossz hozzászólására (») Feb 27, 2009 /
 
Már én is foglalkoztam a dologgal, de a CS2 láb hiánya miatt másik kijelzőt kellett elővennem.
Megkerestem az adatlapokat:
vezérlőcsipp
64128G LCD
(#) Jossz válasza pepe33 hozzászólására (») Feb 27, 2009 /
 
Megnéztem az adatlapot, ez a vezérlő is kétféle interface lehetőséget ismer, a 6800-as és a 8080 (Epson párhuzamos) szabványt. A 8080-as a használatos, ebben az esetben a CS1 lábat alacsonyra kell tenni, tehát le kell kötni testhez. Az a tapasztalat, hogy ha nem kötöd le, hanem "lebegni" hagyod, akkor nem, vagy labilis módon működik. Én nem ezt az lcd-t használom, hanem az EDT EW32FA0-t (320x240) az is ugyanezeket az interface módokat támogatja ugyancsak 1 db select lábbal (ott SEL1-nek hívják), ez működik a fent leírt módon. Driverként elvileg a CCS EX_GLCD.C-ben megadott módon mennie kell, de ez csak tipp a részemről.
(#) Jossz válasza pepe33 hozzászólására (») Feb 27, 2009 /
 
Ja, igen és javaslom még, hogy nézz körül a CCS fórumon:
ITT
(#) pepe33 válasza Jossz hozzászólására (») Feb 27, 2009 /
 
Megnéztem a javasolt mintaprogramot.
Mrre a driverre hivatkozik:
#include HDM64GS12.c

Megnéztem a drivert:
  1. //// LCD Pin connections:                                            ////
  2. //// (These can be changed as needed in the following defines).      ////
  3. ////  * 1: VSS is connected to GND                                   ////
  4. ////  * 2: VDD is connected to +5V                                   ////
  5. ////  * 3: V0  - LCD operating voltage (Constrast adjustment)        ////
  6. ////  * 4: D/I - Data or Instruction is connected to B2              ////
  7. ////  * 5: R/W - Read or Write is connected to B4                    ////
  8. ////  * 6: Enable is connected to B5                                 ////
  9. ////  *7-14: Data Bus 0 to 7 is connected to port d                  ////
  10. ////  *15: Chip Select 1 is connected to B0                          ////
  11. ////  *16: Chip Select 2 is connected to B1                          ////
  12. ////  *17: Reset is connected to C0                                  ////
  13. ////  *18: Negative voltage is also connected to the 20k Ohm POT     ////
  14. ////  *19: Positive voltage for LED backlight is connected to +5V    ////
  15. ////  *20: Negavtive voltage for LED backlight is connected to GND   ////


A promlát az képezi számomra hogy ennek a kijelzőnek nincs CS2 -es lába csak CS1B.
Ha a CS1B -t lekötöm földre szerintem nem fog müködnia dolog.
Akkor most hogy is kössem be ?

Van egy másik kijelzőm annak van CS1 és CS2 lába is arra szépen tudok rajzolni.
(#) Jossz válasza pepe33 hozzászólására (») Feb 27, 2009 /
 
Mint az írtam, a hivatkozott driver csak egy tipp volt, amiből el lehet indulni, át lehet írni. Újra átnéztem a vezérlő chip leírását és azt látom, hogy az MI lábbal (14) lehet kiválasztani a 8080-as interface módot, a CS1B pedig olyan mint más LCD-nél a chip select, tehát ez vezérelt láb. Nézd végig a leírást és kerestesd a "8080" kifejezést, meg fogod látni, hogy mit hogyan kell ehhez állítani. Amúgy én ilyenkor el szoktam kezdeni a neten keresgélni, mert biztosan volt már olyan, aki ezt az lcd-t használta valamihez és felrakott róla egy bekötési rajzot, vagy valamilyen drivert.
(#) pepe33 válasza Jossz hozzászólására (») Feb 28, 2009 /
 
Keresgettem a neten, 2 megoldást találtam.
Az egyik SPI modban működik, ezzel megy a kijelző, de vannak korlátai. Mégpedig hogy nem lehet a kijelzőt csak írni.

A másik C18 ban készült és DSPIC re írodott , próbáltam valamit büvészkedni vele de nem tudtam eredményt elérni vele. Sajnos a C18-at C30-at, abszolút nem ismerem , és a CCS -nek sem vagyok a mestere , csak tanulgatom.
Samsung KS0713 Graphical LCD Driver for Microchip PIC24 and dsPIC33...rolers
LCD projekt C30-ra
Ha ebből lehetne CCS-nek emészthető verziót késziteni , lehet meg is lenne oldva a kérdés.
(#) doszo válasza pepe33 hozzászólására (») Márc 1, 2009 /
 
Én is csak olyat találtam ami SPI módban kezeli az lcd-t. Igazából így legalább betűket lehet rá írni.
Ezen az oldalon van a projekt.

Az jobb lenne , amit te találtál, csak én sem tudom átírni CCS-hez.

Valaki esetleg tudna ebben segíteni ?
(#) bladika hozzászólása Márc 6, 2009 /
 
Sziasztok!

Tudnátok nekem segíteni abban, hogy CCS-el hogyan tudom bekapcsolni a VPP/MCLR/RE3 láb felhúzó ellenállását?

Elvileg ez lenne, hogy:

port_e_pullups(0b00001000);

De ez az eredménye:
Error 12 "main.c" Line 64(15,16): Undefined identifier -- port_e_pullups

A pic amit használok 18f4550 és az a gyanúm, mintha nem tudná a compiler, hogy ez a pic tud ilyet.
A "B" porton tökéletesen működik a dolog, csak ezen nem.

Rosszul csinálok esetleg valamit?
(#) MPi-c válasza bladika hozzászólására (») Márc 7, 2009 /
 
Először is megnéztem a PIC adatlapját. Valamit féreolvastál. A PORTE legfelső bitjével a PORTD-n lehet felhúzni a bemeneteket, nem a PORTE-n.
Aztán a port_x_pullups(value); utasításban ennél a PIC-nél a value értéke vagy TRUE, vagy FALSE. (Vannak PIC-ek, ahol egyesével is be lehet állítani a felhúzást, de ez nem az.)
Ha még így sem veszi be a fordító, akkor egyszerű megoldás:
  1. // a definiciókban
  2.  #word PORTE = 0x0F84  // mutató a PORTE-re
  3.        
  4.  // és valahol a kódban      
  5.  PORTE |= 0x80;        // PORTE PDPU bit bekapcsolása
Következő: »»   18 / 118
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