Algoritmus CORDIC

Pokud s mikrokontroléry neřešíte jenom blikání s LED, ale občas zabrousíte i do zpracování signálů, pravděpodobně jste již někdy v minulosti řešili výpočty trigonometrických funkcí.

V tomto článku popíšu základní princip algoritmu CORDIC pro iterativní výpočet funkcí sin a cos a také předvedu jednoduchou implementaci v jazyce C, vhodnou např. do mikrokontrolérů. Continue reading “Algoritmus CORDIC”

Bootloader v mikrokontrolérech AVR

Tento článek se zabývá vlastností některých AVR mikrokontrolérů zvanou self-programming. Text čerpá z application note AVR109 a je přepisem přednášky, kterou jsem měl na nedávno proběhlé mini-konferenci (slajdy původní přednášky).

Některé mikrokontroléry řady ATtiny a ATmega mohou obsahovat kód zvaný bootloader, který umožňuje přepisovat paměť flash. V tomto textu se podíváme jak tento kód funguje, co k tomu využívá a na závěr si napíšeme jednoduchý kód spouštěný z paměti bootloaderu. Continue reading “Bootloader v mikrokontrolérech AVR”

Python a AVR

Nedávno jsem narazil na projekt Python-on-a-chip, který vytváří interpret Pythonu pro mikrokontroléry. Jelikož je Python můj oblíbený jazyk, nemohl jsem si tuhle hračku nevyzkoušet.

Testoval jsem na MCU ATMega1284P, která je dostatečně velká (128kB flash a 16kB SRAM), aby se do ní vlezl interpret Pythonu i vlastní skript. Continue reading “Python a AVR”

Arduino jako AVR programátor

Konečně se mi podařilo použít Arduino jako AVR programátor. Snažil jsem se o to od doby, kdy jsem si poprvé pořídil Uno, zkoušel jsem nejrůznější návody i vlastní řešení, bohužel doposud marně. Nedávno se na oficiálních stránkách Arduina objevily aktualizované informace, jak Uno použít k programování. V tomto článku sepíšu pár poznámek k celému postupu. Continue reading “Arduino jako AVR programátor”