AVR - jak pristoupit k jednotlivym pinum, ne k celemu portu?
Moderátor: Moderátoři
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, ESP8266, STM32, ESP32...)
Peťus
Kód: Vybrat vše
typedef union
{
unsigned char Byte;
struct
{
unsigned int bit_0 :1;
unsigned int bit_1 :1;
unsigned int bit_2 :1;
unsigned int bit_3 :1;
unsigned int bit_4 :1;
unsigned int bit_5 :1;
unsigned int bit_6 :1;
unsigned int bit_7 :1;
}Bits;
}ByteField;
volatile ByteField pokus;
void main(void)
{
pokus.Byte = 255;
pokus.Bits.bit_6 = 0;
}alebo takto:
Kód: Vybrat vše
unsigned char bit[8];
void main(void)
{
unsigned char k, m=1;
for(k=0;k<=7;k++)
{
bit[k] = m;
m <<= 1;
}
PORTB |= bit[5];
PORTB &= ~bit[5];
}