Ahoj,
potřeboval bych naprogramovat AtMegu32,
konkrétně rozsvěcování matice LED s posuvnými registry,
dvě přerušení tlačítkem,
komunikace přes RS232, (dva příkazy+ odesílání z avr do pc),
Bylo by super, kdyby se někde daly najít vzorové kódy,
nevíte prosím o něčem takovém??
Vždycky se někde zaseknu (
Jak moc se liší programování v CodeVision a v AVRstudiu? …myslel jsem si, že vůbec, ale hlavičkový soubory jsou odlišný v mým CodeVisionu nefungujou tyhle řádky #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <util/delay.h>
fungujou vždycky nějak obměněný…
Co je na tych IO take ze zrovna tie chces pouzit ? Akej matice led 44 alebo 100100 ? co a ako sa tam ma zobrazovat ? o akych prudoch sa bavime lebo len posuvne registre stacit asi nebudu…
Pokud bys použil 74594 nebo 74595, tak si tím dost zjednodušíš DPS a nejsi omezený na 8 IO. Prostě jich do série posadíš, kolik chceš. Připojíš to celé jako řetěz na 3 piny MCU a máš vystaráno. Případně na 4. pin MCU můžeš připojit !OE (u 74595) a jedním signálem rozsvicovat a zhasínat celou kostku případně tímto pinem pomocí PWM řídit jas celé kostky. 74594 má místo !OE (Output enable) pin !RCLR (Register Clear - reset výstupních registrů). Jinak se zápis dat a přenos dat z posuvných registrů do výstupních provádí shodně. Můžeš na to použít IO s menším počtem nožiček a pokud je možnost, můžeš i využít hardwareový SPI interfaci MCU.
A pokud místo tý spousty tranzistorů použiješ ULN2803, která umí spínat až 0,5A / pin, tak se Ti deska taky celkem zjednoduší.
Tak nějak si myslím, že pokud nejsi schopný napsat program, který zapíše 8-bitovou hodnotu do 8-bitového registru (74HC574), pak bys asi měl začít něčím jednodušším. Třeba blikáním LED na pinu mcu a pak se teprve pouštět do složitějších věcí. Ono totiž použít SPI pro zápis do 74595 není složité, ale pokud nechápeš, co se děje v mcu a nejsi schopný z datasheetu vyčíst, jak dostat data na výstupy IO, měl bys trošku přibrzdit a na tyhle základy se podívat. My Ti tady poradíme a pomůžeme, ale základy by sis měl nastudovat. O programování AVR je toho na Internetu spousta.