Skocz do zawartości

Programowanie zmiennych w jednym wierszu


Pomocna odpowiedź

Napisano

Witam, mam proste pytanie, otóż na początku programu zdefiniowałem zmienne

#define F_CPU 1000000L 
#include <avr/io.h> 
#include <util/delay.h>
#define red 0x21; 
#define bl_1 0x08; 
#define bl_2 0x02; 
#define gr_1 0x04;  
#define gr_2 0x01;  
#define yellow 0x12; 
#define buzz 0x01;

I teraz, np. piszę

PORTD |= gr_1;

PORTD |= yellow;

PORTD |= red;

to jak mam napisać to ciągiem, w jednym wierszu?

A jak próbowałeś?

Na logikę, nawet bez znajomości programowania da się to wymyślić:

PORTD |= gr_1 | yellow | red;

Jak nie rozumiesz tego prostego kodu to napisz czego konkretnie, postaramy się jakoś to wyjaśnić. Przede wszystkim przeczytaj o operacjach bitowych.

Witam, mam proste pytanie, otóż na początku programu zdefiniowałem zmienne
#define red 0x21; 

Istotny błąd. To nie są zmienne, to są stałe podmieniane przez preprocesor.

Zainteresuj się różnicami pomiędzy stałymi preprocesora (#define), stałymi (const) i zmiennymi, a życie stanie się łatwiejsze.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...