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   12 / 118
(#) Jossz válasza pepe33 hozzászólására (») Jún 25, 2008 /
 
Jól csináltad, csak ott volt a bibi, hogy a CCS C szintaxisa egészen más. Pl.: amit írtál, hogy
TRISB = 2;
ez a CCS-ben:
set_tris_b (0x02);
vagy
set_tris_b (0b00000010);
ha erre gondoltál...
A CCS C és a pic18 C nagyon sok helyen különbözik szintaxisban.
(#) Ven hozzászólása Jún 26, 2008 /
 
Sziasztok!
Letöltöttem a CCS honlapjáról azt a plugint, amivel tudja használni a CCS az ICD2-öt. Az alábbbi hibaüzeneteket kapom, mikor benyomom az enable debuggert, proci választás után:
ICD unit does not have ccs firmware loaded
run the full diagnostic
ok

Az elsőt megnyomva és ablakok között lavírozva még ilyent is kapok:
icdwarn0020: invalid target device id (expected=0x4F, read=0x0)
current ICD does not support this operation

Ha az OK-ot nyomom, akkor az egész debug menü inaktív lesz.

Szerintetek mi a probléma?
Az ICD2 a Potyo féle 3. verzió a honlapról.
(#) Jossz válasza Ven hozzászólására (») Jún 26, 2008 /
 
Szerintem a proci választás után hiányzik neki az alábbi sor:

#device ICD=TRUE

tudatosítani kell vele, ha az ICD-t használod, ugyanis az debugg üzemmódben betölt a procidba egy loader rutint.
(#) Ven válasza Jossz hozzászólására (») Jún 28, 2008 /
 

Ja azt bele is írtam, csak béna voltam. Ugyanis egy kicsivel régebbi verzióval próbákoztam, amire felment a plugin és be is lehetett állítani a debuggert, csak azzal ugyen nem mükszik. Szóval a legújabb verzióval tökéletes.
Egy kérdésem van még...
USB-s és CAN-es példaprogi nincs CCS-re? Ha van, akkor hol?
(#) MPi-c válasza Ven hozzászólására (») Jún 28, 2008 /
 
Idézet:
„USB-s és CAN-es példaprogi nincs CCS-re? Ha van, akkor hol?”


A ccs fórumán próbáltad már?
(#) Jossz válasza Ven hozzászólására (») Jún 28, 2008 /
 
A példaprogramokat és a hozzá szükséges drivereket, headereket a compilerrel adják. Itt megtalálod a listát, van benne bőségesen USB-s és CAN példaprogi is.
(#) Ven válasza Jossz hozzászólására (») Jún 29, 2008 /
 
Köszi mindkettőtöknek...
Tényleg jó sok...
(#) Jossz hozzászólása Júl 2, 2008 /
 
Most én kérnék segítséget, mégpedig USB bootloader témájában. El tudná valaki konkrétan magyarázni, hogy hogyan is működik ez a program, ill. hogyan lehet ezt hozzáfordítani a PIC főprogramhoz, tehát hogyan lehet a fordítóban "összecsatolni" úgy a két programot, hogy a PIC-ben minden a megfelelő helyére kerüljön? Valamint, jól gondolom, hogy ha jól működik az USB bootloader, akkor nem kell .inf file az eszköz xp alatti installációjához?
(#) tomeedey hozzászólása Júl 14, 2008 /
 
nem tom h volt e már szó róla de azért megköszönném a segitségeteket

szoval ccs ben dolgozom,és meg kellene oldani hogy van 3 7szegmens kijelző amihez tartozik 3 szám a,b,c néven
ezek már el vannak rendezve hogy azt irja ki ami az a,b,c ben van
a probléma az hogy van egy 4.szám ami 0 és 999 között mozog azt szeretném csinálni hogy ennek az értéknek a karaktereit beleteszem az a,b,c változókba,tehát ha az érték pl 825 akkor a=8 b=2 c=5
és ezeket iratom ki
remélem érhtetö voltam,először igy akartam megoldani:

a=value/100;
b=(value/10)-(a*10);
c=value-(a*100)-(b*10);

de a kerekítést nem igazán jól kezeli igy elvetve az ötlet,várom a segitséget ha egyáltalán kapok olyat
előre is kösz
(#) potyo válasza tomeedey hozzászólására (») Júl 14, 2008 /
 
Mi a változók tipusa?
(#) Jossz válasza tomeedey hozzászólására (») Júl 14, 2008 /
 
mi lenne, ha így csinálnád:

int a;
int b;
int c;
long int value=825; //például...

a=value/100; //a=8
b=(value-(a*100))/10; //b=2
c=value-((a*100)+(b*10)); //c=5

nem próbáltam ki, de elméletileg így jónak kellene lennie...
(#) tomeedey válasza Jossz hozzászólására (») Júl 14, 2008 /
 
mindegyik longra volt beállitva
eredetileg a value egy 10 bites szám amit a AD átalakitó olvas az egyik analóg bemenetröl,ez egy egyszerü feszkómérő lenne nem toom hoggy hogyan szokták ezt megoldani c nyelven
tehát ha jol toom a 10 bites szám az 1024ig terjedhet,5 voltos referenciafeszütségnél pl igy az 512es érték 2.50 v-ot jelentene igy a kiirandó: a=2 b=5 c=0
ezt kellene megoldani ha már benne vagyunk a témában
(#) potyo válasza tomeedey hozzászólására (») Júl 14, 2008 /
 
Előszöris olyan szó a magyar nyelvben nincs, hogy toom. A másik, hogy léteznek írásjelek, és a mondatot nagybetűvel kezdjük.

Jobb lenne, ha unsigned int16 tipussal próbálkoznál, az egyértelmű, hogy mit takar. Egyébként is felesleges a long, csak a felhasznált processzoridőt növeli jelen esetben.

Hol jelenik meg az eredmény? Mert ha valami függvénnyel íratod ki, akkor simán előfordulhat, hogy a függvény nem olyan tipust vár, mint amit átadsz neki, és ez is látszólag hibás működéshez vezet.
(#) tomeedey válasza potyo hozzászólására (») Júl 14, 2008 /
 
Köszi a kioktatást, megprobálok az elvárásaidnak megfelelően irni!
Szoval a 3 darab 7 szegmens 3 db D-latchon keresztül kap vezérlést, igy nem kell foglalkozni a multiplexeléssel.
Igy nem használok függvényt,megszakítást stb-t.
Egyszerüen a müködési elv:
- a 10 bites érték kiolvasása az analóg bemenetröl
- value változóba beleteszem ezt az értéket
- szétbontom a value-t
- a value elsö karaktere A-ba,a 2. B-be a 3. C-be kerül.
- az A,B,C értéket kiküldöm a D-latchokba majd a kijelzöre.
- 100ms várakozás és kezdődik előröl minden.
(#) potyo válasza tomeedey hozzászólására (») Júl 14, 2008 /
 
Mutasd meg az egész kódot, mert amit eddig írtál az csak a dolog elmélete. Az egésznek a megvalósítását látni kell ahhoz, hogy meg tudjuk mondani, mi a hiba. Ha nagy a kód, akkor csatold.

Idézet:
„Köszi a kioktatást, megprobálok az elvárásaidnak megfelelően irni!”

Szivesen máskor is.
(#) alex077 hozzászólása Júl 14, 2008 /
 
Sziasztok!
PIC-re szeretnék c példaprogit keresni ill találni. Gugli kidobott sok jó dolgot, de olyan progit nem találtam ami csak egy nyomorult ledet villogtat. Rémlik hogy egyszer volt nekem egy ilyen progim, de nem találom.
PIC18f2520-ra szeretném CCS fordítóval komptaibilis legyen. Ide is beütöttem a keresőbe, de nem dobott ki értelmes találatot. Lehet, hogy csak én nem tudtam jól rákeresni, de plíz help
Köszi!

Sőt az lenne ám a jó, hogyha egy gombot is kezelne
engem csak az érdekel, hogy hogy kell c-ben picet programozni.
(#) m2attila válasza alex077 hozzászólására (») Júl 14, 2008 /
 
A progi 18F2550-re készült de könnyen átalakítható más uC-re is.

TIMER0 - interruptot használja fel a villogtatásra. A megszakítási gyakoriságot ebben a sorban (a szám értékével) állítható:

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_32);

Ha Wizard-al generálod a beállításokat akkor ott betudod állítani a TIMER0-beállításainál.

Azt a portot add meg ahova a LE van kötve pl: PIN_C6


#int_TIMER0

void TIMER0_isr(void)

{

output_toggle(PIN_C6);

}



void main()

{


setup_wdt(WDT_OFF);

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_32);


enable_interrupts(INT_TIMER0);

enable_interrupts(GLOBAL);



do{



}while(!0);


}
(#) alex077 válasza m2attila hozzászólására (») Júl 14, 2008 /
 
Köszi a segítséget, bár a progi működése nem egészen világos, hiába egyszerű...
ha jól sejtem az a output_toggle(pin_c6) változtatja mindig a c6 értékét, hogy 1 vagy 0
azt nem értem, hogy miért fog villogni a led
mind1, mert ha le akarom fordítani a progit i/o error 103 hibaüzenetet ír ki
mi a probléma?
(#) m2attila válasza alex077 hozzászólására (») Júl 14, 2008 /
 
Még egyszerűbben próbáltam megírni.
Le is fordul PIC18f2520-ra.

Csak be kell állítani a megfelelő Portot,ahova a LED-et kötötted.

Csatoltam a projekt zip- et.

LED_Vill.zip
    
(#) alex077 válasza m2attila hozzászólására (») Júl 15, 2008 /
 
Köszi a segítséget! Még ma ki akarom próbálni
(#) Jossz hozzászólása Júl 15, 2008 /
 
Újra szeretném feltenni a kérdésemet, hátha csak azért nem kaptam választ, mert elkerülte a C mágus kollégák figyelmét... Tehát:
Most én kérnék segítséget, mégpedig USB bootloader témájában. El tudná valaki konkrétan magyarázni, hogy hogyan is működik ez a program, ill. hogyan lehet ezt hozzáfordítani a PIC főprogramhoz, tehát hogyan lehet a fordítóban "összecsatolni" úgy a két programot, hogy a PIC-ben minden a megfelelő helyére kerüljön? Valamint, jól gondolom, hogy ha jól működik az USB bootloader, akkor nem kell .inf file az eszköz xp alatti installációjához?
Igazából az is nagy segítség lenne, ha tudnátok mondani - ha lehet magyar, mert úgy jobban értek - szakirodalmat, leírást, ahol ezt a témát mélyebben boncolgatják, magyarázzák. Előre is köszönöm mindenkinek a segítséget.
(#) potyo válasza Jossz hozzászólására (») Júl 15, 2008 /
 
1. fogalmam sincs. Ha 18F-es picet használsz, akkor jobban járnál a C18 fordítóval, ahhoz talán több példpaprogramot lehet találni

2. A bootloadernek semmi köze ahhoz, hogy kell-e inf fájl vagy nem. Ha olyan a cuccod, hogy van a windowsban beépített inf fájl hozzá (HID, MSD, stb.), akkor nem kell neked inf fájlt készítened, de akkor is szükség van inf fájlra.

3. Irodalom USB és kontroller témában - ami nem amatőrök számára ír le általánosságokat - gyakorlatilag nem létezik (vagy csak én nem találtam még). USB-hez az usb.org-on van infó, PIC-hez meg a microchip honlapján és fórumán kell olvasgatni, illetve példaprogramokat nézegetni.
(#) tomeedey hozzászólása Júl 16, 2008 /
 
Ha tudnátok nekem esetleg egy egyszerü feszültség mérő alappéldaprogramot beilleszteni,esetleg kommentezve annak nagyon örülnék és megköszönném.
Abból már ki tudom nagyjából szedni ami nekem kellene!
Jossz, a változatod tökéletesen müködik!használhatod nyugodtan,akkor van baj ha a value érték nem 0 és 999között van
Jaj ésmég egy kérdés:
Ha nem adok meg referencia bemenetet és feszültséget akkor az 5 voltos tápfeszt veszi ref-fesz-nek?
(#) Jossz válasza tomeedey hozzászólására (») Júl 16, 2008 /
 
Örülök, hogy működik, természetesen a value túlcsordulását ellenőrizni kell a feldolgozás előtt.
Ha nincs ref. fesz. akkor "azzal főz, amije van"...
Milyen fesz mérő akarsz? ADC alapút, vagy komparátor elvűt, vagy milyet? Egyébként ITT is érdemes körülnézni.
(#) tomeedey válasza tomeedey hozzászólására (») Júl 16, 2008 /
 
Sikerült megoldanom az ügyet tökéletesen müködik,márcsak az osztással kell bajlódnom hogy pontos legyen a müszerem
köszönöm mindenkinek a segitséget
egy sima dc müszert készítettem csakis csak azért hogy megtanuljam hogy hogyan is kell használni a AD konvertert a c nyelvben,mellékeltem a progit,elég kezdő vagyok még benne ugyhogy a felesleges dolgokat és a hibákat ne nézzétek

ADc.c
    
(#) potyo válasza tomeedey hozzászólására (») Júl 16, 2008 /
 
Most ne haragudj, de az AD konverternél (és minden más perifériánál) nincs olyan, hogy valamelyik nyelvben másképp kellene használni. Mindig úgy kell, ahogy az adatlapban le van írva. Pl. ott írod kommentben, hogy nem tudod, mire való az ADC_CLOCK_INTERNAL. Nos addig nemis fogod megtudni, amíg az adatlapon át nem olvasod az AD konverterről szóló részt, és meg nem próbálod ilyen setup_adc() és társai függvények nélkül életre kelteni.
(#) alex077 hozzászólása Júl 17, 2008 /
 
Sziasztok!

Az m2attila által küldött pic progit kipróbáltam és működik, igaz szerintem kissé furcsán.
A LED elkezd viszonylag egyenletesen villogni majd változik a ritmusa majd egyszer csak egy rövidet villan és kezdi elölről.
A PIC (18f2520) rendes téglalap alakú csak a keskenyebb kivitel, 28 lábú.
Nem akar csutkára belemenni a foglalatba és lehet, hogy kh-s. De sztem ez valószínűtlen, mert csak 1 mm hiányozna, hogy teljesen belemenjen.
Kipróbáltam más szoftvereket is bele, gombot akartam vezérelni, de nem működött a progi és azóta még az a progi sem megy ami régebben ment.
Egy csomó időt szántam arra, hogy keresgéltem a fórumon pic c ccs példaprogit, de elég keveset találtam.
Nem is akar működni semmi.
AZ a baj, hogy nem tudom hol van a hiba, rosszak lennének a progik amiket égettem bele? Nem hiszem, mert menniük kellene.
Vagy kh vagy füst vagy vmi más, de foggalmam sincs mi.
Ha vki tudna egy olyan progit küldeni ami egy gomb lenyomására (aktív magas) villogtat ledet, az nagyon jó lenne. Persze CCS-ben.
Köszi!
(#) alex077 válasza alex077 hozzászólására (») Júl 17, 2008 /
 
Megőrülök.
Valószínűleg én szúrtam el a dolgot. Inkább biztos.
A MCLR lábra direktbe tettem véletlen a tápot.

Remélem most már jó lesz, de a progit továbbra is megköszönném!
(#) Jossz hozzászólása Júl 20, 2008 /
 
Sziasztok!
Milyen függvénnyel, vagy módszerrel tudnám megmérni ugyanannak a gombnak (ami pl. RB5-ös portra van kötve és negatív élre dolgozik) a lenyomásai között eltelt időt? Azt akarom kivitelezni, hogy ha mondjuk a felhasználó 3 másodpercen keresztül folyamatosan nyomja a gombot, akkor az addig 500ms-re beállított ciklus várakozási idő csökkenjen 100ms-re, tehát gyorsabban pörögjenek a számok és így hamarabb elérhesse a kívánt beállítási értéket.
(#) Jossz válasza Jossz hozzászólására (») Júl 20, 2008 /
 
Ok, köszi, megoldottam számlálóval, szépen működik a dolog...
Következő: »»   12 / 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