Fórum témák
» Több friss téma |
Fórum » CCS PIC Compiler
Na, ha valakinek még nem lenne meg, akkor most upgradélhat a legfrissebbre....
Link: http://www.yousendit.com/download/UW15RGx5OC9tUUUwTVE9PQ :wink:
Ha valakit zavar, hogy nem a nevére van regisztrálva a CCS forító, akkor most ezt a csorbát kiküszöbölheti az alábbi programocskával.
Nem kell megijedni, hogy ismeretlen nyelven hablatyol a program. Az első beviteli ablakba a kívánt név írandó, a másodikban pedig egy emílcím. A ROM gombal pedig megmondhatjuk, hogy hova generálja le a 3db licence állományt. Célszerűen valami semleges helyre. Onnan bemásolható a PICC alkönyvtárba. Na, jóccakát! Here is the link for the file you uploaded: http://download.yousendit.com/29AD29932C32A072 :nevetes2:
Közkívánatra: CCS C Referencia kézikönyv (English)
Link: http://www.yousendit.com/download/UW13WGJETSs1bmcwTVE9PQ
Még egy könyv:
Hogyan programozzuk a PICMicro-t C nyelven. http://download.yousendit.com/21495518242286C5
stepic: Figyi, pontosan mit tettél fel Linux alá ? Ugyanis a PICC hivatalos oldalán megkülönböztetik a linuxos és a winfosos verziót. Kérdésem az lenne, hogy a linuxoshoz honnan jutottál ? A PICC-éktől letöltött demót krekkelted, vagy máshonnan ? Erre a youdownload-ra nem tudod feldobni ? Vagy offban elmondod, honnan szipkázhatom le ?
Fedorat hasznalok es wine ala telepitettem. De sajnos nem igazan megy mert huzigalva az egeret az ikonok folott egyre masra jonnek elo a hiba uzenetek.
Linuxos verziom meg nem volt a PICC-bol. Nem lenne hulyeseg megtalalni valahol :yes:
Te aztán rendesen ellátsz minket az "áldással"!
Csak ami tőlem telik. A lelkes embereket támogatni kell.
Linux alá van ingyenes CPIK c fordító, ami a PIKDEV-be tökéletesen beilleszthető!
Lehetne csinálni fórumot: Elektronika Linux alatt.
Hello everybody!
Most túrtam a neten: PICtutor bemutató. A fele Flash, a másik fele html. Ne kérdezzétek, hogy miért. Nagyon látványos és a kezdőknek nagyon informatív. De! Kell hozzá némi English knowledge. Ez azonban nem von le semmit az értékéből. Link: http://rapidshare.com/files/33148038/PICtutor.zip Péter
Jó ez a cucc, kár hogy nem pár évvel ezelőtt jutottam hozzá...
Ezekre magamtól kellett rájönnöm
Támogatom a linuxos C-zést a PIC-re.
Más. Szívok a PICC-vel. Van egy előre összedobott LCD-s áramköröm. A PICC-ben van lehetőség a default LCD kijelző bekötés használatára, ez valamilyen bekötés, ami a /drivers/lcd.c-ben benne van. De sajna az én áramköröm más LCD bekötéssel bír. Van lehetőség arra, hogy a PICC idevágó wizardját használva magam definiáljam a saját LCD bekötésem és így véssem a progimat tovább. Csakhogy az nem működik. Lehet valahol a PICC-ben a default értékeket állítani ? A /drivers/lcd.c unitban tutira nem lehet, mert az is azt írja, hogy a bekötés a definiált szerint ez és ez. De hogy azt hol definiálja... Van valakinek ötlete ?
Lehet. egy pill és megnézem.
(Ha máshogy nem akkor lemented a programod mellé az lcd.c filet és abban írod át.)
az LCD.c-ből az elöbbi részt ki kell kommentezni, majd a mi programunkba kelll beszúrni a
sor elé.
Nos, azt hiszem, hogy itt az idő, azoknak, akik meg akarnak tanúlni PIC-cet programozni CCS C nyelven, hogy letölthetik az egyik legjobb könyvet. A (majdnem)legkissebbtől (12F508) a (majdnem)legnagyobbig (18F452) részletes leírás, programrészlet és "hevy comment" minden kódrészlethez. A LED villogtatáson keresztűl az 1wire leírásától a hanggeneráláson át a flash dataloggerig minden ami szem szájnak ingere. Természetesen nem kell a példaprogramokat bekalapálni, mert forrásnyelven is megvan minden a packban. A haladóknak sem árt belepillantai, hogy mások hogyan csinálják.
sysypet
Ha esezleg valaki meg akarná építeni (miért ne) a CCS S-40 debuggerét, akkor itt van a firmware hozzá, amit be kell égetni. Ha balakinek kell a doksi, szóljon, mert kidobom! :papakacsint:
sysypet
Bocs az elgépelésért, de ma úgy látszik, hogy dislexiás vagyok...
Már többen panaszkodtak, hogy nem tudják letölteni a Yousendit-ről az állományokat. Hja, a népszerűség.
Áttettem ide az eddigi állományokat: PICtutor: http://rapidshare.com/files/33148038/PICtutor.zip CCS PCWH 4.038: http://rapidshare.com/files/33368675/CCS438.ZIP CCS PIC Source Code: http://rapidshare.com/files/33372703/CCS_Pic_Source_Code_Book_VERY_...06.zip CCS ICD S40 firmware: http://rapidshare.com/files/33519144/imgu-40-pic16-pic18-01-25.hex CCS ICD S40 doksi: http://rapidshare.com/files/33526534/CCS_ICD_S-40.pdf Akinek innen sem megy (van ilyen) azoknak tessék privátban jelezni. Péter
Helló ! Egy kis segítséget lérnék PICC-ben. Véstem egy progit, ami egy 4MHz-es kristályos 16F628-cal impulzusokat számol a RA4/T0CK lábon. TMR0-ra jönnek az impulzusok, TMR1 pedig időzít (100ms alatt a TMR0 hányszor csordult túl+maradék). A végén kijön valami eredmény, ami közelítőleg jó, de pl. egy 20MHz-es TTL oszcillátort 18 és 22 MHz-cel számol (vagy 18.xxx MHz vagy 22.xxx MHz), 24MHz-es TTL oszcillátort meg 22.xxx MHz és 26.xxx MHz között. Ezek mellett persze durvább pillanatnyi kilengések is vannak, de ritkán. Standard a két érték oszcillátoronként. A TTL oszcillátort a biztonság okából egy gyors 74HC14-en is áthajtom (de csak egy kapun). Mi lehet a gond ?
A Timer0 megszakítás kezelőjében van egy ilyen sor:
set_timer0(0); Ez szerintem nem kell, mert pont azért fut itt a program, mert a Timer0 értéke éppen nulla. Ha meg az interrupt latency ideje alatt már beszámolt néhány impulzust, azt most kidobtad. Hogy miért siet néha a számláló, azt nem tudom, de ettől lehet, hogy késik. A kiszolgáló rutin így jobban nézne ki: #int_TIMER0 void TIMER0_isr(void) { // set_timer0(0); icount++; }
Sőt!
A Timer1 megszakításába raknám át a Timer0 inicializálást, mert amíg az LCD-vel szarakodik a program, addig is számlál ám a Timer0! valahogy így: #int_TIMER1 void TIMER1_isr(void) { disable_interrupts(GLOBAL); freq=((icount*256)+get_timer0())*14.5; // kHz period=(1/freq)*1000; set_timer1(0x9e58); icount=0; set_timer0(0); //!!! }
Köszi az ötletet. Az igazság az, hogy eredetileg én is úgy csináltam, hogy a Timer1-hez tettem a ste timert, de akkor az volt a szívás, hogy valamiért a timer0 interrupt nem ment, a benne levő count változóval szart se csinált. Megpróbálom az általad adott ötleteket. az amúgy nem baj, ha késik, mert akkor legalább csak egy dolgot csinál, azt könnyebb korrigálni. Holnap újítok egy frekimérőt és pontosan kimérem a TTL oszcillátorokat, mert szerintem azok is elmásznak kicsit (de persze nem +/- 2MHz-et - mert valami 10 ppm-esek, ha jól tudom). addig jöhetnek még az új ötletek.
Kipróbáltam az ötleted, az eredmény ugyanaz. Most arányaiban kevesebbszer ugyrik a TTL oszcillátornál a számlálás a felső +2MHzhez (pl. 20MHz-nál 22.xxx MHz), de néha egy pillanatra igen ordenáré érdtékekre kileng, (pl. 52.xxx MHz). Elvben a TTL oszcillátor fix frekin rezeg és nincsenek felharmónikusai.
Szia !
Idézet: „... valamiért a timer0 interrupt nem ment, a benne levő count változóval szart se csinált.” Az interrupt rutinban hasznalt valtozoknal valtozodeklaralaskor ki kell szedni az optimalizalast. Vagyis volatile tipus nev alakban kell deklaralni. A program nem tud a megszakitas rutinban levo valtozo ertekenek valtozasarol,igy a fenti formaban jelezni kell hogy ne legyen optimalizalas,vagyis mindig olvassa ujra reg-bol .
Szia ! Az össes interruptben használt változót volatile-nak kell deklarálni ? Azt is, amivel csak egy 1/x műveletet hajtok végre ?
Másik kérdésem: warning 216 "interrupts disabled during call to prevent re-entrancy: (@MULFF)" ezt a warningot kaptam. A progit le tudtam fordítani, az angol üzenetet el tudom olvasni (a Timer1 interruptban a disable_interrupts(global)-ra véste), de ezzel lehet valamit kezdeni ?
Igen, mindet.
Jelzem en PIC -hez nem ertek,es ehhez a forditohoz sem. En C-rol beszeltem.(gcc) De ha nem okoskodtak szet ,akkor ennel a forditonal is ugy kell legyen ami a volatile-t illeti.
Okay, a volatile-t elfogadta (pl. volatile unsigned int). Esetleg valaki nem tudna ötletet adni, hogy hogyan pontosíthatnám a mérést ? Most sikerült a kapott ötletekkel úgy finomítani a cuccot, hogy relatíve stabilan tartja a 20 MHz-et egy 20 MHz-es TTL oszcillátornál (20.4-20.6 között ugrál), de néha felugrik 32MHz-re egy pillanatra. Ez mitől van ? Pontatlan a PIC ?
Ilyen típusú méréseknél van a PIC-nek "bemelegedési" ideje ? Ugyanis, azt tapasztalatam, hogy a mérés legelején két-négy másodpecrig baromságokat mér (40-50-60 MHz-eket), majd aztán "megnyugszik" és akkor relatíve stabilan tartja a néhány kHz-es elmászásokat. Persze, ekkor is vannak kilengések (általában dupla frekvenciára), de viszonylag kevés. 300ms-onként íratom ki az eredményt LCD-re, kábé minden 7-10-dik kiírás ilyen idióta értéket mutat. Tud valaki még abban segíteni, hogy ezt lecsökkentsem (ha minden 20-25-dik kiírás rossz, az már haladás) ?
frekimerovel kapcs nezd meg ezt a hsz -t.
http://www.hobbielektronika.hu/forum/topic_861.html?pg=35&date_order=ASC #63095 |
Bejelentkezés
Hirdetés |