AVR Example1.c: Rozdiel medzi revíziami
Z SensorWiki
(Nová stránka: <source lang="c"> →**************************************************************************: →: /*...) |
|||
(3 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.) | |||
Riadok 4: | Riadok 4: | ||
/* Monoliticke mikropocitace - Priklad 1.1 */ | /* Monoliticke mikropocitace - Priklad 1.1 */ | ||
/* */ | /* */ | ||
− | /* Program zasvieti/zhasne LED na | + | /* Program zasvieti/zhasne LED na PB5 podla stavu prepinaca na PB4 */ |
/* */ | /* */ | ||
/* Autor: Richard Balogh <balogh@elf.stuba.sk> */ | /* Autor: Richard Balogh <balogh@elf.stuba.sk> */ | ||
/* Historia: */ | /* Historia: */ | ||
− | /* 19.2.2006 prva pokusna verzia | + | /* 19. 2.2006 prva pokusna verzia */ |
− | /* | + | /* 12.10.2012 uprava pre Acrob/Arduino (PD->PB) */ |
+ | /* Verzia: */ | ||
+ | /* studentska, vynechane konkretne hodnoty */ | ||
/* */ | /* */ | ||
/* ************************************************************************** */ | /* ************************************************************************** */ | ||
− | #include <avr/io.h> // spolu s -mmcu= | + | |
+ | #include <avr/io.h> // spolu s -mmcu=atmega328 nahra spravny .h subor | ||
// ktory potrebujeme kvoli PORTx, PINx a DDRx | // ktory potrebujeme kvoli PORTx, PINx a DDRx | ||
Riadok 18: | Riadok 21: | ||
{ | { | ||
− | + | DDRB = 0x??; // 1 = Output, 0 = Input | |
− | + | PORTB = 0x??; // 1 = LED zhasni, 1 = Pull-up ON | |
do{ | do{ | ||
− | if ( | + | if (PINB & 0x??) // bin: PINB & 0001 0000 = sw1 OFF? |
− | + | PORTB |= 0x??; // bin: PORTB + 0010 0000 = nastav PB5, LED OFF | |
else // t.j. ak sw1 ON: | else // t.j. ak sw1 ON: | ||
− | + | PORTB &= 0x??; // bin: PORTB & 1101 1111 = vynuluj PB5, LED ON | |
} while(1); // toto rob stale dokola | } while(1); // toto rob stale dokola | ||
Riadok 33: | Riadok 36: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | [[MMP_Cvi%C4%8Denie_2#Postup|Späť na cvičenie...]] | ||
+ | |||
+ | [[Category:AVR]][[Category:MMP]] |
Aktuálna revízia z 07:15, 12. október 2012
/* ************************************************************************** */
/* */
/* Monoliticke mikropocitace - Priklad 1.1 */
/* */
/* Program zasvieti/zhasne LED na PB5 podla stavu prepinaca na PB4 */
/* */
/* Autor: Richard Balogh <balogh@elf.stuba.sk> */
/* Historia: */
/* 19. 2.2006 prva pokusna verzia */
/* 12.10.2012 uprava pre Acrob/Arduino (PD->PB) */
/* Verzia: */
/* studentska, vynechane konkretne hodnoty */
/* */
/* ************************************************************************** */
#include <avr/io.h> // spolu s -mmcu=atmega328 nahra spravny .h subor
// ktory potrebujeme kvoli PORTx, PINx a DDRx
int main (void)
{
DDRB = 0x??; // 1 = Output, 0 = Input
PORTB = 0x??; // 1 = LED zhasni, 1 = Pull-up ON
do{
if (PINB & 0x??) // bin: PINB & 0001 0000 = sw1 OFF?
PORTB |= 0x??; // bin: PORTB + 0010 0000 = nastav PB5, LED OFF
else // t.j. ak sw1 ON:
PORTB &= 0x??; // bin: PORTB & 1101 1111 = vynuluj PB5, LED ON
} while(1); // toto rob stale dokola
return (0); // formalita, nikdy sem neprideme
}