AVR – prakticky II
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

AVR – prakticky IIAVR – prakticky II

 

AVR – prakticky II

Google       Google       3. 9. 2006       35 828×

Pro mnohé připomínky ze strany čtenářů, jsem se rozhodl pro změnu stylu, jakým budu psát tento seriál. Především ubyde teorie. Budu se odkazovat na externí zdroje, případně vysvětlení teorie bude probíhat pouze v nutné míře. Tento a další dily budou tedy orientovany čistě prakticky.

Reklama
Reklama

Co máme za sebou

Vminulém díle jsme si ukázali, jak použít PonyProg pro programování mikrokontrolérů Atmel AVR. Přepokládám, že znalosti z minulého dílu jste si osvojili, a proto pro vás již bude hračkou nahrát jakýkoliv pozdější projekt do procesoru. Proces nahráváni procesoru proramem PonyProg tedy uzavřeme. Výjimkou bude vysvětlení LockBitů v některém z pozdějších dílů.

Program pro minulé cvičení byl vytvořen a zkompilován v AVR Studiu. Postup pro jeho obsluhu jsme si již vysvětlili v jednom z prvních dílů. Byl napsán v assembleru. Tento jazyk (jazyk symbolických adres) jsem zvolil proto, že umožňuje programátorovi „doslova vidět“, jak procesor pracuje. Každou instrukci, kterou napíšete, procesor jednotlivě zpracuje. Instrukce se už nedělí na jiné podčásti. Je pouze přeložena na číslo, a to je zpracováno ALU (aritmeticko-logická jednotka). Je to prakticky nejnižší úroveň, na které můžete s procesorem pracovat.

Směrem vzhůru

Jak už jsme si ale řekli na začátku našeho seriálu, procesor patří mezi tzv. RISCové procesory, což jsou procesory s redukovanou instrukční sadou. To umožňuje mimo jiné jejich efektivní nasazení s programy napsanými ve vyšším programovacím jazyce. My se budeme v dalších dílech setkávat pouze s jedním z nich. A tím je jazyk C.

Abychom však mohli programy vytvářet, potřebujeme, stejně jako v případě assemleru, nějaký kompilátor. Pro assembler využíváme AVR studio. Pro C máme mnoho možností, jak začít. Někeré najdete v mém článku Vývojové nástoroje pro Elektroniku. My si vybereme kompilátor pro Windows, a to velmi oblíbený, CodeVision AVR. Jedná se o komerční produkt, jenž je však do 2k výsledného kódu zdarma. Omezením je také nemožnosti použítí některých knihoven. Pro profesoinální využítí, lze takoupil licence Light a Standard na webu HW.cz (3.000,- Kč, 500,- Kč).

Instalace

Instalační program je ke stažení z CodeVision.be. Stahujte pouze verzi Evaluation. Tedy pokud nemáte zakoupenou nebo jinak opatřenou licenci pro placené verze. Program nainstalujte.

Jde se na věc

Při spuštění programu postupujte následovně. V menu File → New vyberte Project

Program se vás zeptá, zda chcete využít CodeVizardAVR. Prozatím zvolte No.

K tomu se dostaneme později. Čeká vás několik nutných uložení, kde si zvolíte adresář a jméno projektu a jiných pomocných souboru. Následuje okno, kde si nastavíte druh procesoru a nastavení kompilátoru. Nastavte dle obrázku.

Po nastavení projektu se můžeme směle pustit do práce. Přidejte soubor zdrojového kódu: File → New → Source. Uložte ho a v nastavení projektu Project → Configure v záložce Files ho přidejte k projektu… Opište zdrojový kód:

#include <mega16.h>

unsigned int cek1 = 0;

void main (void)
{

PORTC=0x01;
DDRC=0x01;
PORTD=0x40;
DDRD=0x00;

while (1)
      {         
         if ((PIND & 0x40) == 0)
          PORTC |= 0x01;
         else PORTC &=0xFE; 
      };
}

Program zkompilujte stisknutím F9. Hlášení o průběhu kompilace se vám zobrazí na obrazovce. Chyby můžete vidět na panelu pod zdrojovým kódem. Pokud kompilace proběhla v pořádku, stiskněte Shift-F9. Tentokrát se celý projekt „polepí dohromady“ a vytvoří se ROM soubor, který můžeme nahrát do procesoru PonyProgem, ale ještě lépe integrovaným programátorem v CodeVisionAVR.

Chip Blaster AVR

Chip Blaster AVR. Tak se jmenuje integrovaný programátor vývojového prostředí CodeVision AVR. Z vlastní zkušenosti mohu říct, že se jedná o velmi přehledný a spolehlivý nástroj. Je možné ho zakoupit jako zvláštní program a nebo zakoupit či stáhnout jako součást aplikace. My si ukážeme, jak s ním pracovat.

Programátor je neprve potřeba nastavit pomocí Settings → Programmer. Spustit jej můžete pomocí Tools → Programmer. Myslím, že již podle obrázku je jasné, že práce s ním je velice intuitivní… Jako vstupní soubory můžete použít .hex, .rom soubory, ale i jiné. Stejně jako v PonyProgu je možné číst stavy lock a fuse bitů a měnit jejich nastavení. Opět i zde platí, že v případě fuse bitů, zaškrtnutý checkbox znamená zvolenou pojistku (tedy nula).

Pokud tedy máte procesor nastavený již z minula, pouze nahrajte program. A to tak, že otevřete vygenerovaný soubor s příponou .rom (File → Load flash) a pomocí Program → Flash jej nahrajte do procesoru. Nezapomeňte ale nejdříve programovou paměť smazat (Program → Erase chip).

Pokud se vám vše podařilo, stačí jen uzemňovat pin PD6, například tlačítkem. Pokud je pin uzemněn, LED svítí, v opačném případě je zhasnuta…

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Ondřej KarasAutor se věnuje vývoji řídících a komunikačních systémů a tvorbě podpůrných aplikací.
Web    

Nové články

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

Obrázek ke článku DistrCut – optimalizace pomocí distribuované inteligence

DistrCut – optimalizace pomocí distribuované inteligence

Optimalizační systémy, které jsem dosud popisoval, se týkaly vždy optimalizace na jednom zařízení. Optimalizovalo se dělení tyčového materiálu na jedné pile, vypalování plošného materiálu na jednom plazmovém stroji, řídilo se tavení na jedné elektrické obloukové peci.

Ve výrobním procesu je však často nutné optimalizovat činnost celého výrobního úseku, kde je více různých objektů odlišného typu a koordinovat činnost těchto objektů k dosažení společného cíle, zpravidla kvality finálního výrobku. Řešení tohoto problému umožňuje distribuovaná inteligence.

Reklama autora

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý