 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
mrsmoke Član

Pridružen-a: Sob 26 Feb 2005 23:22 Prispevkov: 47 Aktiv.: 0.20
|
Objavljeno: Sob Feb 26, 2005 11:35 pm Naslov sporočila: programiranje v c-ju |
|
|
živjo.
kje naj se naučim programski jezik c za PIC-e? A ima kdo kakšen naslov
knjige ali pa kakšen link?
na internetu nič ne najdem. Saj osnove že poznam, le posebnih ukazov
ki so samo za mikrokontrolerje ne poznam. |
|
Nazaj na vrh |
|
 |
glavič Član


Pridružen-a: Pon 17 Maj 2004 23:12 Prispevkov: 321 Aktiv.: 1.36 Kraj: Grosuplje
|
Objavljeno: Ned Feb 27, 2005 12:29 pm Naslov sporočila: |
|
|
V revijah oz. cd-jih Svet Elektronike imaš lepe članke o programiranju v C-ju. |
|
Nazaj na vrh |
|
 |
Umnik Član

Pridružen-a: Čet 16 Sep 2004 17:52 Prispevkov: 958 Aktiv.: 4.04 Kraj: Novo mesto
|
Objavljeno: Ned Feb 27, 2005 8:43 pm Naslov sporočila: |
|
|
Vkolikor poznaš osnove C-ja, potem znaš sprogramirat tudi mikrokrmilnik. Saj kakšnih posebnih ukazov niti ni. Če imaš prevajalnik za programiranje PIC-ev v C-ju si oglej header datoteko določenega PIC-a (npr. 16f87x.h). Tam imaš lepo vidna imena registrov, portov in ta imena potem uporabljaš v kodi.
Če pa bi rad videl kakšen primer si downloadej kakšen večji(!) projekt v C-ju (za PIC seveda) in povleci smernice.
Lahko si downloadaš prevajalnik skupine HI-TECH http://www.htsoft.com, kjer imaš izredno lepe primere, nekatere rutine kot so pavza, i2c, lcd... so že napisane, napisan je celo bootloaader za 16f87x, primeri serijske komunikacije, analogne pretvorbe, prekinitvene rutine, timer0 prekinitve, še veliko lepši pa je PIC C manual (dolg okrog 400 strani).
Vse kar je posebnega pri programiranju PIC-a v C-ju je, da moraš v glavni funkciji main uporabiti zanko while in sicer zato da krožiš v zanki:
Koda: |
void main()
{
//stavki inicializacije, nastavitve portov, registrov, spremenljivk;
while(1)
{
stavki;
ukazi;
}
}
//in še prekinitvena rutina;
void interrupt moja_prekinitvena_rutina(void)
{
blablabla;
}
|
Lepo je tudi če pišeš smiselno (optimizacija kode), da porabiš čim manj prostora. Nisem strokovnjak, a nisem še nikoli spraskal skupaj več kot 7k kode, bi bilo pa zanimivo s kakim "malčkom" serije 18F sprogramirat kako super (ne)uporabno aplikacijo.
Da še malo pomoraliziram:
Zadnje čase dobivam veliko mailov na temo programiranja PIC-ev v C-ju. Večina od teh je srednješolcev. Ni mi jasno od kod želja ljudi programiranja v C-ju, ko pa jim je še programiranje v zbirniku povsem tuje? Zagotovo C-ja ne forsirajo že v srednjih šolah. Ali pač? Saj lepo, da poskušate(?) širiti svoje znanje ampak fantje, ko/če boste študirali boste morali znati programirati mikrokrmilnike v zbirniku! Če znaš programirati v zbirniku, poznaš hardware v detajle, od tam pa do C-ja pa je potem le še korak. Očitno bom moral skupaj spackat še kakšna navodila za C in PIC, kar me bo stalo manj časa kot odgovarjanje na nesmiselna vprašanja. Saj se sicer trudim pomagat če ima sprašujoči tehtne razloge za vprašanje, vendar kar je preveč je pa preveč.
S tem sicer nisem mislil nate mrsmoke vendar na ostale "indijance". Če pa komu tole moraliziranje ni povšeči -> cut-it-out |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Feb 27, 2005 9:12 pm Naslov sporočila: |
|
|
Citiram: |
Saj lepo, da poskušate(?) širiti svoje znanje ampak fantje, ko/če boste študirali boste morali znati programirati mikrokrmilnike v zbirniku! Če znaš programirati v zbirniku, poznaš hardware v detajle, od tam pa do C-ja pa je potem le še korak. |
Umnik, tole si lepo napisal , s trditvijo se popolnoma strinjam. Prva zelo pomembna stvar je poznavanje arhitekture mikokrmilnika druga pa poznavanje periferije. Brez tega ne pričakujte čudežev  _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Pon Feb 28, 2005 4:33 pm Naslov sporočila: |
|
|
Se popolnima strinjam. Za bascom je dosti, da ves izbrati pravi procesor, docim za C pa je potrebno malo vec znanja z podrocja HW _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
tibi Član

Pridružen-a: Tor 16 Dec 2003 11:08 Prispevkov: 253 Aktiv.: 1.07 Kraj: bukovje
|
Objavljeno: Sre Mar 02, 2005 11:25 am Naslov sporočila: |
|
|
Pozdravljeni. Tudi jaz priporočam Hi-tech prevajalnik. Sicer pa je res da moraš spoznati osnovne registre za nastavitev portov,pwm,a/d.. nato pa gre!
Tudi sam sem na faksu moral vedeti prog. mikroprocesorja v asemblerju vendar nisem prepričan koliko smo studenti od tega odnesli... |
|
Nazaj na vrh |
|
 |
mrsmoke Član

Pridružen-a: Sob 26 Feb 2005 23:22 Prispevkov: 47 Aktiv.: 0.20
|
Objavljeno: Sre Mar 02, 2005 12:14 pm Naslov sporočila: |
|
|
Nekaj sem gledal na internetu in sem najdil prevajalnik cc5x.
Kaj pa menite o tem prevajalniku? |
|
Nazaj na vrh |
|
 |
tomzi007 Član


Pridružen-a: Sob 12 Feb 2005 18:29 Prispevkov: 94 Aktiv.: 0.40 Kraj: Hoče
|
Objavljeno: Sre Mar 02, 2005 3:43 pm Naslov sporočila: |
|
|
tibi je napisal/a: |
Tudi sam sem na faksu moral vedeti prog. mikroprocesorja v asemblerju vendar nisem prepričan koliko smo studenti od tega odnesli... |
Ce sam delas odneses dosti... Sploh v visjih letnikih, ko moras narediti delujoc projekt..
Resnica pa je, da se vecini ne da delati, in potem kopirajo od drugih... na zagovoru pa nekaj momlajo in pridejo skozi... vejo pa malo oz skoraj nic...
Drugace pa jaz kaj resnega programiram v Cju (IAR, KEIL), ponavadi pa kar v Bascomu, naredis hitro in enostavno... Ce pa res zmankuje spomina (flasha, rama) potem pa tudi vcasih asembler, ampak ponavadi raje vzamem cip z vec spomina...
LP
tomzi _________________ Nebo je črno, Zemlja je modra... J.Gagarin
****************
Tomzijev page:
http://tomzi.org |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|