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.
jak se naučit v c pro pic
Moderátor: Moderátoři
Podívej se na tento odkaz, je tam docela dobý popis C pro PIC:
http://forum.mcontrollers.com/viewtopic.php?t=1998
http://forum.mcontrollers.com/viewtopic.php?t=1998
Osobně si myslím...
...ž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...
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).