Stránka 1 z 1

jak se naučit v c pro pic

Napsal: 13 led 2011, 00:07
od woitha
Ahoj,
potřeboval bych se naučit programovat mikrokontrolery PIC v jazyku C, ale mám potíže s angličtinou - existuje nějaká literatura v češtině?

Asi by stačil jen přehled specielních instrukcí pro pic. V klasickém C pro počítač umím a v asembleru programovat PICka umím taky, takže by asi stačil nějaký soupis instrukcí typu MOVLW, MOVF atd. v jazyku C.

Napsal: 13 led 2011, 00:18
od procesor
Ten príklad je fakt mätúci :roll:

Napsal: 13 led 2011, 07:22
od mikollar
ak vies PIC v ASM potom len pouzi to co vies z C. Ziadne specialne prikazy niesu, teda neviem ktory prekladac pouzivas. ja pouzivam SDCC. Jedine co je si musis pozriat ako ktory prekladac ma definovane bity a registre

Napsal: 13 led 2011, 18:55
od Standa33
Podívej se na tento odkaz, je tam docela dobý popis C pro PIC:

http://forum.mcontrollers.com/viewtopic.php?t=1998

Osobně si myslím...

Napsal: 23 led 2011, 18:15
od 67kapa
...že velice záleží na překladači,který používáš.Syntaxe se liší právě v drobnostech.A ještě o něco komplikovanější je to u ukládání a výměně dat do/z paměti ve více bytovém slově.Termíny little endian(na paměťové místo s nejnižší adresou uloží nejméně významný bajt,big endian(na paměťové místo s nejnižší adresou uloží nejvíce významný bajt)...každý kompilátor to má nastaveno podle sebe.Rovněž záleží na proceseru,jak přistupuje k jednotlivým bitům.U PICu třeba není adresní bitový prostor jako u AVR u proměnných(myslím test bitu v registru tebou vytvořeném,pokud tedy nepoužiješ přímo definici bit ....),ale nechá se to lehce obejít makrem (maskou).Doporučil bych knihu C pro mikrokontroléry od B.Mann,na netu si ji i stáhneš v pdfku,je sice orientována na AVR,ale valná část platí i pro PIC.Jinak např. u HI-TECH softu najdeš integrován pdf soubor i s úvodním příkladem včetně přerušení,jak začít.Navíc je tam kompletní materiál o syntaxi céčka,včetně krátkých ukázek.Tím ale nezavrhuji jiné softy.Začneš tím,že vytvoříš jednoduchou rutinu na řerušení,třeba za pomoci přerušení timeru,rozblikáš ledku...běhen krátké chvíle se do toho dostaneš.

Teď když jsem si ten...

Napsal: 23 led 2011, 18:23
od 67kapa
tvůj příspěvek přečetl pořádně,nechce se mně věřit,že v céčku už jsi něco dělal(bez urážky)Jinak bys věděl,že právě ty instrukce MOVLW...jsou assebler a to céčko je zahrnuje ve své syntaxi.Takže když napíšeš v céčku pom_reg = 0x01...tak v assebleru je to movlw 0x01,movwf pom_reg.Proto je céčko nad assemblerem a proto je pohodlnější v ně psát,i když výsledný kód někdy pěkně bobtná:-)))To lze ale částečně eliminovat zařazením úseku kódu v assebleru přímo do céčka(zvlášť když např.honíš přesný časy).