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   38 / 118
(#) blockshears válasza edison14 hozzászólására (») Júl 1, 2010 /
 
#FAST_IO preprocessort a CCS nem fogja felismerni, mert az helyesen #use fast_io(x) (x helyén a port betűjele) nézd csak meg az a letölthető Reference manual-t!

A Hi-Tech is megfelel hobbi célokra, ugyanakkor a CCS-sel is lehet nagyon profi dolgokat művelni. Csak azt kell eldönteni, hogy mennyire akarja az ember "kézben tartani" a dolgokat vagy megelégszik pl. a CCS felkínált automatizmusaival. Ahhoz jól meg kell ismerni mind a két fordítót, hogy el tudd dönteni, melyik a számodra szimpatikus. Pl. ez az output_b(..., output_low stb. nekem kimondottan nem tetszik, jobban fekszik a Hi-Tech-es port vagy bit névvel hivatkozás. Persze - mint ahogy Topi cikkéből is kiderül - megoldható ez a CCS-ben is pl. egy saját headerrel (pld-nak mellékelek egy ilyet). Ezután már mehet az ilyesmi :
  1. SET_TRIS_B(0b00001011);  
  2. helyett:
  3. TRISB = 0b00001011;
vagy
  1. output_toggle(PIN_B2);
  2. helyett:
  3. RB2 ^=1;

s_16f62xa.h
    
(#) edison14 válasza blockshears hozzászólására (») Júl 1, 2010 /
 
Helló!

Nekem sem tetszik az hogy a program megcsinál mindent helyettem. Szeretem ha mindent nekem kell megadni és én állíthatom be a portokat. Ezek szerint nekem a HI-TECH PICC-et kellene használnom. Körülnézek és megkeresgetem.

Köszönöm az eddigi segítséget.
(#) blockshears válasza edison14 hozzászólására (») Júl 1, 2010 /
 
Épp most írtam, hogy a CCS-t is rá lehet venni arra, hogy ne legyen túl intelligens...
(#) potyo válasza blockshears hozzászólására (») Júl 1, 2010 /
 
De macera, neked megírni a header fájlt hozzá, hogy a portokat és a biteket használhasd. Hi-Tech fordítónál meg már ez megvan.
(#) vicsys válasza potyo hozzászólására (») Júl 1, 2010 /
 
Kövezzetek meg, de én szeretem ha "olvasható" a kód (akár laikusoknak is) és ha kinyalják a s**emet. Persze ez nem kisebbíti a Hi-Tech (és egyéb fordítók erényeit)! Egy érv még a CCS mellett, hogy az általam kipróbált kódok zöménél mindig kisebbet kreált mint pl. a Hi-Tech.
(#) potyo válasza vicsys hozzászólására (») Júl 1, 2010 /
 
A kód olvashatósága szerintem inkább kommentelés függvénye. Lehet minden fordítóval olvashatatlan és olvasható kódot is írni, mint ahogy minden nyelven lehet Fortran programot is írni. Kódméret az inkább fordítófüggő ugyanannál a kódnál, mivel lehet úgy írni kódot, hogy egyik fordító jobban ki tudja optimalizálni, mint a másik. De biztosan lehet olyan kódot is írni, amit a Hi-Tech fordít kisebbre.
(#) vicsys válasza potyo hozzászólására (») Júl 1, 2010 /
 
Persze ez mind igaz amit írtál. Azt is tegyük hozzá, hogy majd egy bizonyos szint után. Nem pedig az abszolút kezdő kategóriában... Gyanítom, hogy itt is arról szól az élet, hogy sokan elkezdenének mikrokontrollerre programot írni, csak kínai a nyelv. Azért azt Te sem vitatod, hogy az angol parancsszavak és utasítások sokat nyomnak a latba. (lásd pl. a basic vagy logo sikerét)
(#) potyo válasza vicsys hozzászólására (») Júl 1, 2010 /
 
Nem vitatom, hogy ezek jó dolgok, csak nemis okvetlenül egy kezdőnek valók véleményem szerint ezek a beépített cuccok. edison14 is vacakol ezekkel a felhúzókkal, közben meg ha elővenné az adatlapot (amire előbb-utóbb szüksége lesz), akkor abból egyből látná, hogy INTCON regiszter RBPU bitjét kell nullába rakni ahhoz, hogy a felhúzók bekapcsoljanak. Lehet, hogy kezdetben lassabban haladna, de utána viszont önállóbbá válna és sokmindent átlátna, amit így nem vagy csak sokkal nehezebben.
(#) edison14 válasza potyo hozzászólására (») Júl 2, 2010 /
 
Ez igaz potyo. MNagyon gyorsan akartam azt elérni amit nem lehet. És szerintem most nekiállok és egypár hetet rááldozok arra hogy megismerjem a PIC-emet + elolvasom a nulláról a robotokig c. cikkeket és a PIC programozás C nyelven c. cikket. Utána elölről kezdem az egészet és sokkal precízebben és nyugodtabban fogok haladni az egésszel.
Köszönöm az eddigi válaszokat és a helyrepofozást.
(#) blockshears válasza potyo hozzászólására (») Júl 2, 2010 /
 
Macerás, de csak azért, mert a port, bit neves hivatkozást "komálom jobban". Nem kötelező így használni és ezt is csak egyszer kell megírni.
Én programozgatok CCS-sel és Hi-Tech-kel is és ha láttátok, edison14-nek pont azt javasoltam, hogy ismerje meg mind kettőt vagy többet, hogy a számára tettszőt kiválassza, és hogy eljuthasson egy olyan szintre, amikor már a projekthez a számára megfelelő fordítót tudja kiválasztani, mert van amit az egyikben, van amit a másikban egyszerűbb megoldani... de, erre már - olvasva a topikot - elég sok szó volt vesztegetve...
Üdv!
(#) mps hozzászólása Júl 25, 2010 /
 
Sziasztok!
Próbálgatom a c fordítókat. Elakadtam egy kicsit a config biteknél. Próbáltam összeszedni az adatlap, a fordítóhoz kapott header fájl, és egy icsernytől származó c18 alapján. Egy részét sikerült is, de egy párat nem igazán tudok hová tenni. Megköszönném ha valaki segítene némi iránymutatással.

config.h
    
(#) potyo válasza mps hozzászólására (») Júl 25, 2010 /
 
Vedd elő a CCS mappájából a Devices almappából a chipedhez tartozó .h fájlt, annak az elejében ott vannak a konfig bitek elnevezései.

Más fordítók konfig bit elnevezéseivel felesleges próbálkoznod, egy részüket megeszi a CCS, egy részüket nem.
(#) mps válasza potyo hozzászólására (») Júl 25, 2010 /
 
Az a header fájl amire azt írtam, hogy a fordítóval volt. De ott csak egy vesszővel elválasztott felsorolás van, minden megjegyzés nélkül, ezért vagyok megakadva, mert nem tudom az adatlaphoz párosítani. A mellékelt fájlban az alsó részen vannak ezek. A c18as headert csak a kommentek miatt vettem elő. Már csak egy pár maradt,amit nem tudok "belőni". Persze ez nem jelenti ugyebár azt, hogy a többi jó Ja, a proci 18f4550.
És közben hasonlítgatom a lefordított hexek konfig részét, már egész közel állnak.
(#) icserny válasza mps hozzászólására (») Júl 25, 2010 /
 
Idézet:
„egy párat nem igazán tudok hová tenni”
Melyiket nem tudod hová tenni?
(#) mps válasza icserny hozzászólására (») Júl 25, 2010 /
 
Amik ki vannak kommentezve, az volna az alap amit Te írtál, ez van a file eljén. A végén ami a ccs 18f4550.h-ban volt confignak, csak már egy kicsit széttördeltem, a Te kommentjeid után oda raktam azokat amikből szerintem "választani lehet", az adott bithez. (Később jól jöhet jegyzetnek )
(#) mps hozzászólása Júl 30, 2010 /
 
Sziasztok!
Újabb problémám volna. Szeretnék gombnyomásokat számolni, és egy lcd-n kiírni. Nem igazán jön össze. A kódban a kommentek közt le van írva, hogy mi a bajom, mert nem tudtam röviden, és pontosan megfogalmazni
Előre is köszönöm a segítséget!
(#) mps válasza mps hozzászólására (») Júl 30, 2010 /
 
Közben megoldódott.
(#) Dempsey hozzászólása Aug 15, 2010 /
 
Sziasztok!
(Még csak ismerkedek a PIC-ekkel) Lenne egy egyszerű problémám. Hogy lehet elérni hogy a B porton kimenetként magas szintet érjek el? Eddig annyit írtam meg amit a txt-ben csatoltam. Az RB1-en így csak 1,6V jön ki. A PIC típusa 16F84A. Hogy lehetne elérni hogy alacsony szinten 0V, magas szinten pedig 5V körüli érték jöjjön ki. Kell valami felhúzó ellenállás vagy ilyesmi? Ha jól tudom a "B" porton vannak programozható felhúzók. Remélem tudtok segíteni ebben az egyszerű problémában. Köszönöm előre is. Üdv: Dempsey.

progi.txt
    
(#) vicsys válasza Dempsey hozzászólására (») Aug 15, 2010 /
 
Mi a helyzet az MCLR lábbal? Mert ha az nincs felhúzva tápfeszre, nem fog stabilan működni. Egyébként H szintnél közel tápfesznek kell kijönni.
(#) Dempsey válasza vicsys hozzászólására (») Aug 15, 2010 /
 
Elfelejtettem írni hogy fel van húzva tápfeszre az MCLR. Ezért nem értem hogy miért nem működik
(#) vicsys válasza Dempsey hozzászólására (») Aug 15, 2010 /
 
Gondolom a 100nF-os hidegítés is rajta van a táplábakon.(?)
Mindegyik kimeneten csak ennyit mérsz? A tápfeszt mérve okés? Megvan a +5V?
(#) Dempsey válasza vicsys hozzászólására (») Aug 15, 2010 /
 
Igen mindegyik kimeneten 1,6-1,8V van. A hidegítés az nincs rajta. Tápfesz rendben megvan az 5V.
(#) vicsys válasza Dempsey hozzászólására (») Aug 15, 2010 /
 
Akkor forrassz minél közelebb, minél rövidebb kivezetésekkel egy 100nF-ot a táplábakra közvetlenül.
(#) Dempsey válasza vicsys hozzászólására (») Aug 15, 2010 /
 
Ráforrasztottam így 2,15V ra emelkedett a feszültség minden lábon. A tápot a laptop USB-jéről kapja. Túl sok a zaj vagy mi a gond?
(#) vicsys válasza Dempsey hozzászólására (») Aug 15, 2010 /
 
Ott valami táp gond lesz. Nem tudsz neki stab IC-ről normális tápot adni?
(#) Dempsey válasza vicsys hozzászólására (») Aug 15, 2010 /
 
Most kihúztam a tápot aztán megint bedugtam rámértem és megint 1,8 V van a lábakon. Csinálok egy stabil 5V- os tápot gyorsan és megírom van e változás.
(#) Dempsey válasza vicsys hozzászólására (») Aug 15, 2010 /
 
Stabil tápról is ugyan az pedig tettem kondenzátorokat a stab IC elé és után is ahogy kell.
(#) icserny válasza Dempsey hozzászólására (») Aug 15, 2010 /
 
A végtelen ciklus utáni része a programodnak szerinted mikor fog lefutni?

Inkább így próbáld:
  1. # include "16f84A.h"
  2. #fuses xt,nowdt,noprotect,noput
  3. #use delay(clock=4000000)
  4.  
  5. void main(void){
  6. set_tris_b(0);
  7.   while(1) {
  8.     output_high(pin_b1);
  9.     delay_ms(500);
  10.     output_low(pin_b1);
  11.     delay_ms(500);
  12.   }
  13. }


Az output_high()/output_low() helyett az output_b(0xff)/output_b(0) függvényhívásokkalis próbálkozhatsz, ami elvileg a B port összes lábát macerálja.
(#) Dempsey válasza icserny hozzászólására (») Aug 15, 2010 /
 
Azt csak véletlenül elírtam. A te megoldásoddal sem jó így is csak 1,5V van a RB1-en.
(#) icserny válasza Dempsey hozzászólására (») Aug 15, 2010 /
 
Az oszcillátor lábakra mi és hogyan van bekötve?
Következő: »»   38 / 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