AVR Example1.c: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
Bez shrnutí editace |
||
Riadok 12: | Riadok 12: | ||
/* */ | /* */ | ||
/* ************************************************************************** */ | /* ************************************************************************** */ | ||
#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 18: | ||
{ | { | ||
DDRB = 0x??; // 1 = out, 0 = in | |||
PORTB = 0x??; // 1 = LED zhasni, 1 = pull-up ON | |||
do{ | do{ | ||
if ( | if (PINB & 0x??) // bin: PINB & 0000 0100 = sw1 OFF? | ||
PORTB |= 0x??; // bin: PORTB + 0010 0000 = nastav PD5, LED OFF | |||
else // t.j. ak sw1 ON: | else // t.j. ak sw1 ON: | ||
PORTB &= 0x??; // bin: PORTB & 1101 1111 = vynuluj PD5, LED ON | |||
} while(1); // toto rob stale dokola | } while(1); // toto rob stale dokola | ||
Riadok 35: | Riadok 35: | ||
[[ | [[MMP_Cvi%C4%8Denie_2#Postup|Späť na cvičenie...]] | ||
[[Category:AVR]][[Category: | [[Category:AVR]][[Category:MMP]] |
Verzia z 09:30, 29. september 2010
/* ************************************************************************** */
/* */
/* Monoliticke mikropocitace - Priklad 1.1 */
/* */
/* Program zasvieti/zhasne LED na PD5 podla stavu prepinaca na PD2 */
/* */
/* Autor: Richard Balogh <balogh@elf.stuba.sk> */
/* Historia: */
/* 19.2.2006 prva pokusna verzia */
/* Prenositelnost: */
/* */
/* ************************************************************************** */
#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 = out, 0 = in
PORTB = 0x??; // 1 = LED zhasni, 1 = pull-up ON
do{
if (PINB & 0x??) // bin: PINB & 0000 0100 = sw1 OFF?
PORTB |= 0x??; // bin: PORTB + 0010 0000 = nastav PD5, LED OFF
else // t.j. ak sw1 ON:
PORTB &= 0x??; // bin: PORTB & 1101 1111 = vynuluj PD5, LED ON
} while(1); // toto rob stale dokola
return (0); // formalita, nikdy sem neprideme
}