Programování uC Microchip v C

No pokud bych mel reagovat na Vlastovu otazku a nikoliv se tu rozplyvat nad pouzitelnosti C pro tu ci onu aplikaci…

SourceBoost pouzivam na maly PICka z 12kove rady. Pouzivam compiler i s prostredim a v poslednich verzich je to prijemny nastroj. Pro zacatecniky je tam imho i dobrej manual. Pro tu dvanactkovou radu je tam limitace 2KW na flesce, coz jsem na ty kravinky s temahle miniprocesorama zatim pouzil nejvic na 50%.

Microchip compiler jsem kdysi pouzival pro 18F radu. Ted nejcasteji pro 16ti bity. Ani v jednom z tech compileru jsem nevidel zasadnejsi problem. Omezeni ve smyslu velikosti kodu tam nejsou. Pouze je po zkusebni dobe omezena sirka optimalizaci, ale blize jsem to nezkoumal. Obzvlast pro vyukove ucely to nema zadny vyznam.

To asi tak k tem compilerum. Rad bych vsak vedel, jake MCU treba pouzivaji u Vlasty na skole. U nas na VSB obcas vidim nekoho, kdo na stredni misto obligatnich 51cek v ASM delal na nejakem PICu a vetsinou jsou to 16kove rady. Pro to ukazat deckam na necem v ASM jak ten cip pracuje a pak ho prirozene nechat prejit na C to je samozrejme dobry. K tomu postaci cokoliv. Ty lidi vsak potom zustavaji ze zvyku nebo neschopnosti na tyto 8bit MCU fixovani. Problem je pak v tom, ze tyto MCU jsou dost drahy a dnes jsou k dispozici mnohem levnejsi obvody s nesrovnatelnym vykonem a na ty je potreba ty lidi nasmerovat. Co se PICu tyce mam namysli 16ti a 32ti bitove MCU a DSP, ktere jsou levnejsi nez ty PIC-16/18ky. Obdobne je to u ostatnich vyrobcu (FS, TI, NEC). Je to takovej paradox (delat s drahejma slabejma MCU), kterej me neprestava zarazet pri obcasnem prochazeni takovychto komunit. Nezlobte se tedy na me, ze to tak natahuju.
Jinak co se tyce GCC a ARM7! Musel jsem s tim nakou dobu delat. A za sebe rikam… radsi placeny a profi reseni. Kdyz mate ANSI korektni kod a po kazdym aktualizovani prostredku ho musite nejak preskladat, aby ho compiler “sezral”, tak na to uz s**u.

Zkusím odpopvědět Martinovi i Chuckovi: Samozřejmě máš pravdu (Martin). Bohužel ji máš i v tom, že většina škol je opravdu chudých a ta naše není výjimkou. Někdy je opravdu problém dostat pár tisícovek na něco, o čem lidé, kteří peníze přerozdělují, nejsou přesvědčeni, že je to to nejdůležitější, co škola zrovna potřebuje (třeba není :slight_smile:. Problém je taky v tom, že na výuku mikrořadičů mám všehovšudy 35 hodin (3. ročník čtyřletého maturitního oboru mechanik-elektronik). Za tu dobu stihnu vysvětlit opravdu jen ty nejzákladější věci a probrat pár jednoduchoučkých příkladů (rozblikat nějaké LED, pípnout repráčkem apod.). Opravdu jsem spokojen, když se mi podaří z těch cca 30 děcek zaujmou jednoho nebo dva natolik, že se o to začne sám zajímat a třeba si práci s mikrořadiči vybere jako maturitní projekt. Pár šikovných se i našlo, ale z 90% je to bída a utrpení. Ty děcka se totiž nezajímají vůbec o nic, natož pak o nějaké programování. U toho se totiž musí přemýšlet! Programujeme v assembleru, protože si myslím, že to je u uC ten základ, který by měli pochopit. To, že se pracuje na té nejnižší úrovni, se samotným “železem”. U vyšším programovacích jazyků mám pocit, že na toto se právě často zapomíná. U PC je to jedno, ale u uC ne.
Pro Chucka: Máme zakoupeno 10ks Microchip ICD2, k nim jsme si vyrobili jednoduché výukové desky (8xLED, 4xmikrotlačítka, 1xdvojitý 7-segm. displej, repráček, optočlen na ext. intererupt).). Používáme PIC16F883. Sám teď dělám jedno zařízení pro školu (časovou ústředu s DS1302, ext. dipleji přes RS232, hlasovým výstup atd.) s PIC18F452. Nejsem žádný odborník na programování, sice jsem kdysi dělal chvilku na procesorech Intel 8080 a Zilog Z80, ale to už je dávno … Navíc jsem už trošku staršího vydání a hlava už zdaleka tak nefunguje, jak by měla :slight_smile:. Takže se hlavně snažím, abych stále uměl o něco málo více než ti naši studenti :slight_smile:). Naštěstí mne to baví, takže v tom není problém. S těmi 16-bity je to asi tak: ve chvíli, kdy se začíná něco takového učit, musí se člověk pro něco rozhodnout. A tak se porozhlédne po tom, co se kde dělá, projede si internet, poptá se známých, co v tom dělají. No a zjistí, že všude jsou samé osmibity! Literatura, časopisy, schémata, různé konstrukce …Vím, že to je přesně to, co kritizuješ a máš určitě pravdu. Ale ve chvíli, kdy se musíš pro něco rozhodnout a sám toho ještě moc neumíš, rozhodneš se pro to, pro co existuje nejvíce dostupných informací a v čem dělají jiní lidé, kteří Ti popřípadě mohou poradit. . A to jsou určitě osmibity.
K jazyku C: C se u nás neučí. Chci to pro sebe, jednak z vlastního zájmu a taky proto, že očekávám, že mi to pomůže zjednodušit a zrychlit práci na složitějších projektech. Proto taky neočekávám, že by mi to škola zakoupila (ani vlastně nevím, za kolik se to dá pořídit :slight_smile:.
Omlouvám se za poněkud obsáhleší příspěvek - chtěl jsem jen vysvětlit o co mi přesně jde, protože informace, které od vás čerpám, jsou pro mne velmi důležité, protože většinou vycházejí z vašich praktických zkušeností. Takže díky za ně!! :slight_smile:. Zdraví Vlasťa Vlček, Valašské Meziříčí

Rozumim chapu. Takhle je to vsude. Jestli chces poslu Ti knizku, ktera Te nejen uvede do tech 16ti bitu ale nauci Te i zaklady C pokud se na par drobnosti podivas jinde. Knizka jde od nastavovani ledky na portu po generovani ntsc a pal signalu a vytvoreni FAT file-systemu na SD karte. Rozhodne jsem nikoho koho neznam nechtel kritizovat. Vim dobre, ze zmeny v nasem vzdelavacim sysytemu jsou temer nemozne.

Jo jinak Vlasto, kdybys chtel poslu Ti layout testovaci desky, kterou jsem si delal pro 16bity. Je tam vyvedena oddelena 485ka, prevodnik USB s CP2101, rozhrani pro LCD na dvou konektorech, PWMka, ADcka, nejaky interupty, spinanej zdroj s vystupem 10 - 40V riditelnej z MCU. Jo a je tam jeste vstup pro kvadraturni enkoder a tlacitka. Zacatek snadnej.

Byl bych Ti moc zavázán za obojí. Zvláště ta knížka by mi určitě hodně pomohla. Jestli Tě tedy mohu obtěžovat, tak ano, děkuji.
Vl.

P.S. ta deska vypadá dost dobře :slight_smile:.

Jo, ještě něco - možná pro admina …
Teď jsem se rozesmál, že jsem málem převrhl kafe na klávesnici. Všiml jsem si poznámky u jména pisatele: Chuck - nováček, Vlasta_Vlcek - profesionál!! Doufám jen, že to generuje nějaký debilní automat na základě bůhvíčeho! :slight_smile:
Vl.

prosím já bych měl taky zájem o tu knížku?

Tak to ne! Ja nechci do vezeni :laughing:
Stahnete si to sami. Shaneni podpurnejch materialu je cast schopnosti developera :wink:

avaxhome.ws/ebooks/engeneering_technology/programming_microcontrollers_c_pic_24_16_bit.html

Jo, mám to! Díky! 401 stran… už aby byla zase zima … :slight_smile:
Vl.

Neboj! Ja jsem to stahnul minuly leto. Musel jsem nejak uspat svou lepsi polovicku a cetl jsem to po nocich. Tedy uz tak znacne vysilen :laughing:
Trvalo mi to i s odzkousenim asi 4 vecery. A pak asi tyden veci, na ktery jsem musel ubastlit na odzkouseni nakej hardware. Je to fakt hrozne dobre kousatelna literatura, jinak bych to nedoporucoval. Mr. Jasio je muj clovek. :wink:

Odkial to stahujete?

mne to skonci na:

uploading.com/files/5QKOROL1/_07 … df.7z.html

s tym, ze subor bol odstraneny. To sa tyka aj inych odkazov na webe ci cez Rapidshare alebo ine.
Ma niekto funkcny link?

S Vama je to tezky tady…

rapidshare.com/files/219467732/755080410.z_p.html

Ahoj, prosím Tě, v té knize používají C30 compiler. Díval jsem se na stránkách Microchipu a tam jsou dvě verze: MPLAB C30 C compiler Evaluation verzi a Special free version for academic use. Je to zde: microchip.com/stellent/idcpl … t=SW006012
Nejsem si j ist, co z toho mám stáhnout. Poradíš mi, prosím? Díky, Vlasťa

Dole na teto strance

microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en534868

stahuj MPLAB C Compiler for dsPIC v3.12 Evaluation Version

Hodnocení je dle počtu příspěvků. Na novém webu se hodnocení bude generovat dle počtu bodů, což bude mnohem objektivnější.

Za link dakujem :slight_smile:

Neviem ako ostatni, ale ja som si svoj pridomok vybral sam “ATmega pouzivatel”.
Predpokladam, ze to tak bolo i v inych pripadoch.

Nebylo. Když si začal psát na fórum, tak tvé příspěvky byly doslova gigantické (takové malé články), a proto jsem se rozhodl ti udělit speciální hodnocení.

Na novém webu bude speciální hodnocení běžné.

Chucku, díky! Prosím Tě, ať v tom mám jednou provždy jasno. Mohl bys mi ještě vysvětlit, jak poznám, které verze C compileru jsou pro řadu PIC16xx a PIC18xx? Rád bych to vyzkoušel i na mé desce s PIC18F452 a nevím, co na to mám použít, mám v tom pořád zmatek :slight_smile:. Jinak jsem zrovna uvažoval, že kdyby profesionální firmy (nebudu jmenovat :slight_smile: reagovaly na dotazy tak rychle a ochotně, jako Ty, bylo by nám amatérům na světě moc hezky … :slight_smile:. Klobouk dolů! Zdraví Vlasťa

No Microchip nema vlastni compiler pro nizsi nez 18F radu. Takze musis mit PIC18 compiler pro picka PIC18F a C30 compiler pro 16bity. Pokud chces Ceckat na nizsich PICech (16, 14, 12) stahni si od Sourceboostu BoostC. BoostC umi i 18F radu ale je tam ta limitace. Takze budto budes mit kompilery DVA a to BoostC a C30 a budes mit 18F radu omezenou kodove jako ty nizsi nebo budes mit TRI kompilery BoostC, C18 a C30 a nebudes mit 18F radu omezenou velikosti kodu. Chapis?

Edit: Jo jinak predpokladam, ze jako PICkovateli jsou Ti podobne ficury MPLabu znamy…

mchpjasonk.blogspot.com/2007/06/video-introduction-to-docking-windows.html

Jasně - už to táhnu k sobě! Dík - a už Tě asi pro dnešek nechám na pokoji … :slight_smile:. Vlasťa