Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

#define trudność w zrozumienu sklejania ##

bolek 04 Mar 2012 18:32 848 2
  • #1 04 Mar 2012 18:32
    bolek
    Specjalista - oświetlenie sceniczne

    Nie mogę zrozumieć jak odbywa się to sklejanie, nie będe wklejał tego co wykombinowałem bo i tak nie działa.

    Chce to zrobić do łatwiejszego dostępu do portu, włączenie leda podłączonego do pinu D6 to

    Code:
    LATD|=(1<<5)


    Chcę zdefiniować tylko literkę i cyfre portu

    Code:
    #define LED_PORT D
    
    #define LED_PIN 5



    No i dalej zaczynają się schody ;/

    0 2
  • #2 04 Mar 2012 19:23
    dkow
    Poziom 14  

    Ja często robię tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Ułatwia to życie.

    Potem do tego odwołuję się przez:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #3 04 Mar 2012 22:06
    bolek
    Specjalista - oświetlenie sceniczne

    W zasadzie chodziło mi o coś innego (sklejenie LAT z dowolną literą).

    Kompilator dobrze rozwijał taką definicje, jednak zarazem syczał o błędy. Gdy rozwinięta definicja była "żywcem" wklejona to kompilacja przeszła. Nie mam potrzeby wnikać, zamykam.

    Code:
    #
    
    define LED_PORT D
    #define LED_PIN 6
     
    #define XLAT(x) SLAT(x)
    #define SLAT(x) LAT##x
     
    #define LED_ON XLAT(LED_PORT)|= (1<<LED_PIN)

    0