Fakt hezkej clanek. Tohle by se mi hodilo dokud sem chodil na stredni a nutili nas programovat 51cky. Sam mam mnohem radsi avrka a nesnasim picaky na kterejch sem zacinal (aspon teda tu 14bitovou radu). Ale nejradsi mam AT91SAM7S – je to prakticky ARM7TDMI s periferiama mikrokontroleru. Trosku slozitejsi na rozjeti ale kodovani v Ccku pro to fakt stoji za to. Zadny kompromisy. Navic jde kod casto lehce portovat pro lepsi SAMy, na kterejch uz i jede linux.
Co je na ctrnactibitovych PICech tak strasneho? Co tak sleduju, tak v amaterskych konstrukcich se dost casto pouzivaji. Je fakt, ze ten assembler je trosku jiny nez Intelackej, ale s pomoci maker si clovek muze nasekat stare dobre podminene skoky :-) nebo presuny mezi registry (s meziuschovou ve W). A mit mikroradic v cene jednoho tranzistoru (±) taky neni k zahozeni…
Pokud se ti nelibi assembler PICa, tak pro nej existuje pekny prekladac C. Hledej MikroC v google a najdes ho. Neni sice zadarmo a je jenom pro woknousy, ale je fakt dobrej. Delal jsem s nim peknych par projektu od naprosto mikro projektu jako automaticke zapinani televize po zapnuti do site (program na 10 radku) az po interface pro ovladani svetel pripojeny pres ethernet a ovladatelny/configurovatelny pres web interface. To mimo jine i ukazuje na neuveritelnou flexibilitu PICu.
Ja som nepisal ze sa mi nepaci assembler PIC. Ale ked uz sme pri prekladacoch, tak to je dalsia vec v neprospech PIC. Zatial co gcc-avr predstavuje aspon v oblasti hobby defacto standard, sdcc a najma jeho pic14 port je minove pole. Komercne prekladace byvaju zvacsa platene alebo obmedzene.
Samozrejme prekladac sa da kupit alebo cracknut a prevadzkovat vo wine, program sa ma napisat tak aby sa do stringov trafil a bez riadenia behu programu modifikaciou zasobnika sa da tiez zaobist. Niekomu to moze vadit viac, niekomu menej. Troll to nazve nářkom.
Váš nářek se dá přirovnat k nářku člověka, jenž si koupil kosu, očekávaje od ní schopnosti sekačky. Jinými slovy – chyba není na straně PICů. PICy mají IMHO výhodu v tom, že se dají použít v místech, kde nahrazují pár (desítek) jednodušších logických obvodů, jejichž funkcionalitu opravdu nahradím pár stovkami instrukcí, na tišťáku mi to zabere plochu pouzdra o 8–16 vývodech, má to zanedbatelnou spotřebu a nároky na další součástky a vyjde to doslova na pár korun (ceny začínají někde na 15 korunách za kus, u AVR cca na 35). Plnohodnotný vývojový software zdarma a technická podpora 24/7 zdarma přímo u výrobce je taky velké plus. Za takových podmínek mi opravdu nemožnost hrabat se v zásobníku nepřipadá jako kardinální. Když se tu v 90. letech objevily PICy, byla to pro mě jedním slovem bomba. Dnes už s nimi sice do styku nepřicházím, ale určitě bych je nevylučoval z okruhu posuzovaných součástek při návrhu nějaké nové konstrukce.
Což mi připomíná, že si uvědomuji, že jsem v životě už měl co do činění taky s kupou různých architektur (6502, 8080, Z80, 6809, 8051, PIC, AVR, HC08, 80×86, 68k, ARM, Z180, ADSP-21) a musím konstatovat, že každá měla nějakou super vlastnost a zároveň nějakou nepříjemnou (snad kromě 6809, u níž si na nic nepříjemného nevzpomínám a dodnes je mi záhadou, proč se této technologii nedalo více prostoru – asi jediný 8bitový procesor, který pohodlně a po všech stránkách strčil do kapsy své tehdejší 16bitové současníky; pro mikrořadič na bázi 6809 by byla opravdu radost programovat). Základem ale je uvědomit si co chci přesně dělat a za jakých podmínek a z toho vycházet – to je polovina úspěchu.
Co jsem zjišťoval, tak se 6809 ve své době moc Motorole nehodila do krámu, protože byla vyvíjena paralelně k 68000 úplně jiným týmem, takže další vývoj tohoto mikroprocesoru nakonec stopli.
Je to škoda, s velkou pravděpodobností to skutečně byl nejlepší osmibitový mikroprocesor (dva zásobníky – Forth :-), dost ortogonální instrukční sada, „zadrátované“ násobení), dokonce prý jeden z posledních mikroprocesorů, které byly ručně navrženy a optimalizovány (žádný mikrokód).
Nakonec Motorola kromě mikroprocesorové řady 68000 začala dělat i mikrořadiče, ale například 68HC11 (asi jejich nejznámější mikrořadič) se spíš podobá původní 6800 než 6809 a celkově má trošku podivnou instrukční sadu.
Tak ja treba chci v mistnim elektru kopit mikrokontroler a programovat. Tady ten cenovej rozdil je 30kc za 12bitovej PICak (s tema nemam co k docineni jeste) nebo 40kc za attiny2313, kterej je vybavou nekde uplne jinde. A co se tyce ostatnich architektur, to je tady bud hodne drahy (z80, MCS 51) nebo to proste neni. Jediny co nakupuju z Prahy je AT91SAM7s protoze to stoji za to. A mimochodem i ten je na tom cenove lip nez spousta PICaku a AVRek :)
No jo, jenže je třeba si uvědomit, že ty součástky se primárně nevyrábějí kvůli hrstce domácích bastlířů. :-) Rozdíl 20 korun u jedné takové součástky může v businessu znamenat rozdíl mezi obchodním úspěchem a neúspěchem. Roli navíc hrají i další parametry, jež bastlíř obvykle příliš neřeší – např. příkon. Jestliže AVRtiny2313 bere nějakých 20 mW, zatímco PIC12F1823 cca 3 mW, je to nejspíš pro kutila úplně jedno. Ale jestli to má být např. součástí nějakého baterií napájeného bloku, kdy se šetří každý miliwatt, resp. nějakého rozsáhlejšího bloku, kdy se počítá každý miliwatt vyzářeného tepla, může to být opět dost rozhodující faktor. Důležitou roli může hrát i to, v jakých pouzdrech je ta která součástka k disposici, v jakém balení (kvůli osazovací mašině) apod.
Zkrátka profík na to musí koukat z trochu jiných úhlů pohledu. Věřím tomu, že Wozniak nebo třeba Jack Tramiel by ve svých počítačích taky bývali raději viděli Z80, než 6502, kterou tam nakonec dali. Jenže pak by se jim do ceny nevešely další komponenty – např. Spectrum za Z80 zaplatilo daň ve formě absence pořádných audio/video chipů. Podobná dilemata řešili i architekti Ondry a jeho plánovaných nástupců, pokud se chtěli dostat pod 3500,– Kčs místo tehdy obvyklých 14000,– Kčs za podobný přístroj. To pak máte korunku ke korunce, watt k wattu, jedno k druhému a je z toho gordický uzel. :-)
S tou energii se celkem nechci hadat, na to bych stejne pouzil neco uplne jinyho. Ale s tim businessem – me je to jedno :D rikam jak to funguje u tohodle ‚domaciho bastlire‘. A mimochodem Z80 i 6502 sem programoval taky, ciste proto ze tu mam C64, Didaktika M, gameboy a jeden klon Z80tky. Sice je to mozna pekny kvuli nostalgii ale ‚bohuzel‘ uz se to nejak levne koupit neda. Asi uz je to spis tak max. do nejakyho ‚revival‘ domaciho pocitace. A nepochopte me spatne, rozhodne nejsem zaujatej proti jakykoliv jiny architekture krome AVR a ARM.