výběr MCU, programáoru a SW

Ahoj. ATmega8A stojí cca 53 Kč, ATmega328P cca 89 Kč (TME, obojí v klasicém nožičkovém provedení do “bastlpole”), což je rozdíl v podstatě zanedbatelný.

Za ten rozdíl získáváš :

  1. 4x víc programové paměti (8kBx32kB)
  2. 2x víc SRAM (1024x2048 bytů)
  3. 2x víc EEPROM (512x1024 bytů)
  4. Možnost invertovat pin jednou instrukcí

[code]asm : sbi pinX, Y
C: PINX = (1<<Y);

invertuje bit Y brány X - tedy totéž, co
asm:
in reg1, portX
ldi reg2, (1<<Y)
eor reg1, reg2
out portX, reg1

C: PORTX ^= (1<<Y); // 1 Cčková instrukce, ale překlad jsou opět 4 instrukce procesoru …

[/code]To je něco, co procesory ATmega8, ATmega16, ATmega32, ATmega64, ATmega128 (asi jako jedinné) neumí.
5) Možnost použít (kromě INT0 a INT1) externí přerušení na každém pinu procesoru (PinChange).
6) Možnost použít krystal nebo externí hodiny až 20MHz.

Netvrdím, že to použiješ hned ze začátku, ale do budoucna máš prostě možnost si to vyzkoušet a použít. Pinově jsou plně kompatibilní. Jediné, co má ATmega8 navíc je to, že pokud použiješ hodinkový krystal (32,768 kHz), tak není nutné použít externí kondenzátory (popsáno v datasheetu).

Jinými slovy - Pokud ještě nemáš ATmega8 (jakoukoliv) koupenou, tak sahni spíš po té ATmega328P. Časem se naučíš používat procesory podle nároků aplikace a místa na DPS. Ono programování je u všech ATmega a ATtiny stejné, jen jsou trochu jinak vybavené periferiemi.

Držím palce a věř, že pokud uvidíme snahu něco řešit a nebudeš si vědět rady, že Ti tady vždycky poradíme/nasměrujeme. Co tady neděláme jsou odpovědi na dotazy typu “Potřebuju rozsvítit LEDku a vůbec tomu nerozumím, dejte mi sem nějaký příklad.” - rozuměj mám domácí úkol a chci, abyste mi napsali program…