jak se naučit v c pro pic

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
woitha
Příspěvky: 1
Registrován: 12 led 2011, 01:00

jak se naučit v c pro pic

#1 Příspěvek 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.

Uživatelský avatar
procesor
Příspěvky: 5284
Registrován: 02 říj 2009, 02:00
Bydliště: PO

#2 Příspěvek od procesor »

Ten príklad je fakt mätúci :roll:

Uživatelský avatar
mikollar
Příspěvky: 1406
Registrován: 26 pro 2004, 01:00
Bydliště: Košice - okolie

#3 Příspěvek 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

Uživatelský avatar
Standa33
Příspěvky: 283
Registrován: 07 lis 2009, 01:00

#4 Příspěvek od Standa33 »

Podívej se na tento odkaz, je tam docela dobý popis C pro PIC:

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

Uživatelský avatar
67kapa
Příspěvky: 73
Registrován: 31 říj 2010, 02:00

Osobně si myslím...

#5 Příspěvek 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š.

Uživatelský avatar
67kapa
Příspěvky: 73
Registrován: 31 říj 2010, 02:00

Teď když jsem si ten...

#6 Příspěvek 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).

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“