Właśnie ucze sie jezyka C, koąsytam z ksiażki "Mikrokontrolery AVR Jezyk C podstawy programowania". I nie wiem co oznacza wyrazenie PINC w jwednym z przykładów. Bede wdzieczny za wszelkie wyjasnienia.
#include <avr/io.h>
#include <util/delay.h>
//definicje dla preprocesora
//diody
#define LED_PIN (1<<PC7) //definicja pinu diody
#define LED_ON PORTC &= ~LED_PIN //właczenie diody
#define LED_OFF PORTC |=LED_PIN //wylaczenie diody
#define LED_TOG PORTC ^=LED_PIN //zmiana stanu diody
//klawisze
#define KEY1_PIN (1<<PC6) //definicja klawiasz 1
#define KEY2_PIN (1<<PC5) //definicja klawisza 2
#define KEY3_PIN (1<<PC2) //definicaj klawisza 3
uint8_t klawisz_wcisniety(uint8_t klawisz);
int main(void)
{
//inicjalizacja
DDRC |=LED_PIN;
PORTC |= LED_PIN;
//piny klawiszy - WEJSCIA
DDRC &= ~(KEY1_PIN | KEY2_PIN | KEY3_PIN);
//podciagniecie pinów do VCC
PORTC |= KEY1_PIN |KEY2_PIN | KEY3_PIN;
//petla głowna
while(1)
{
if( klawisz_wcisniety( KEY1_PIN) ) LED_ON;
if( klawisz_wcisniety( KEY2_PIN) ) LED_OFF;
if( klawisz_wcisniety( KEY3_PIN) ) LED_TOG;
}
}
uint8_t klawisz_wcisniety(uint8_t klawisz)
{
if( ! (PINC & klawisz)) //klawisz wcisniety
{
_delay_ms(80); //czas drgania styków
if( ! (PINC & klawisz))return 1;
}
return 0;
}