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: ![]() ![]()
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.
![]() ![]()
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 |