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

AVR – USART IIAVR – USART II

 

AVR – USART II

Google       Google       25. 11. 2006       34 900×

V minulém díle jsme si ukázali, jak jednoduše vytvořit program pro AVR s jeho USART. Dnes si ukážeme, jak tuto periferii využívat v CodeVision AVR.

Stejně jako pro všechny jiné běžné periferie disponuje CodeVison AVR i funkcemi pro ovládání USARTu. Protože jsme si registry popsali v minulém díle, dnes si popíšeme pouze funkce použitelné pro toto rozhraní a ukážeme si jednoduchý přiklad.

Tak jako u jiných periférií, je i pro USART vytvořen průvodce (CodeVizard). Pomocí něj můžete jednoduše nastavit všechny potřebné parametry, včetně povolení/zakázání přijímače, či vysílače, můžete nastavit přenosovou rychlost, parametry přenosu (počet datových bitů, počet stop bitů, paritu), přičemž Wizard vám i spočítá případnou chybu při přenosu. Lze také pomocí tohoto pomocníka nastavit přerušení vzniklé od dokončení příjmu či vysílání.

Pomocí volby File → Generate je vytvořen soubor s veškerým potřebným nastavením. V tuto chvíli už můžete komunikovat. K tomu však potřebujete funkce pro standardní výstup.

Funkce pro standardní výstup se nacházejí v knihovně stdio.h, která musí být do projektu přilinkována.

char getchar(void)

vrací znak přijatý USARTem

void putchar(char znak)

vyšle USARTem znak

void puts (char *retezec)

pomocí fce putchar odešle řetězec, na který ukazuje pointer retezec

void putsf(char flash *retezec)

odešle řetezec uložený v programové FLASH

char *gets(char *retezec, unsigned char delka)

Přes funkci getchar přijme řetězec zakončený „\n“ a nahradí tento znak „\0“. Pokud je do této chvíle přečteno delka znaků funkce přečte pouze delka znaků a je zakončen „\0“

Mezi další užitečné funkce patří i printf, sprintf, scanf a sscanf, ale tyto funkce vyžadují podrobnější příklady využití, proto si je ukážeme někdy později. Dnes si ještě ukážeme příklad na užití výše uvedených funkcí. Součátstí budou i výpisy z terminálu.

Nejjednodušším příkladem pro využítí USARTu v CodeVision AVR by mohl být asi tento:

void main(void)
{

char k;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
      {
         k = getchar();
         putchar(k);
      };
}

Tento příklad pouze demonstruje, jak jednoduše lze napsat program o AVR tak, aby procesor komunikoval s PC. Jestliže správně nastavíte Terminál, například hyperterminál, který je většinou součástí Windows, je po odeslání znaku tento znak vrácen zpět v nezměněné podobě.

Stejně tak by bylo možné vytvořit program pro vysílání a příjem řetězce. Zde si však již musíme poradit s pointery.

Program si můžete vyzkoušet připojením přes přípravek pro převod RS232 na TTL uvedený v předminulém díle nebo přes USB převodník FT232R od firmy FTDI chip. Mnoho konstrukcí využívá starší typ FT232BM, ten bohužel vyžaduje více externích součástek a celkově takovýto převodník vyjde dráž. Převodník si můžete postavit sami, například podle následujícího schématu, nebo můžete využít již postaveného zakoupením od pk-design.net.

×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

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý