c syntex za CCS pic c

A

adnan012

Guest
jaz sem v stiku barvni LCD z pic kontrolorja.Tukaj je del kode, ki sem se s spletne strani.Kaj je funkcija 2. in 4. linijo.HIGH_COLOR se uporablja za določitev lcd barve in 12bit ali 16 bit ravni.

# Podroben HIGH_COLOR

# Define RGB (r, g, b) (((r & 0xF8) <<8 | ((g & 0xFC) <<3) | ((b & 0xF8)>> 3))

# Define OBSTAJA RGB (0x00, 0x40, 0x00)
# Ostalo
# Define RGB (r, g, b) ((r & 0xE0) | ((g & 0xE0)>> 3) | (b>> 6))

# Define OBSTAJA RGB (0x00, 0x20, 0x00)
# Endif

 
del kode je pogojena pripraviti zbornik ...v sestavi časa (ne doživljenjsko) prevajalnik pregledov, če nekje v viru. c je # define za HIGH_COLOR (ex: # define HIGH_COLOR res)
če je to primer prevajalnik bo sestavil vrstica2 in črto 3 drug prevajalnik bo sestavil line5 in line6

# Define RGB (r, g, b) (((r & 0xF8) <<8 | ((g & 0xFC) <<3) | ((b & 0xF8)>> 3))
ali
# Define RGB (r, g, b) ((r & 0xE0) | ((g & 0xE0)>> 3) | (b>> 6))

Mislim, da je ta meja določi "funcion" imenovani RGB, ki traja 3 parametre (r, g, b) in vrne njihovo kombinacijo (8-bitni int mislim).Torej, vsakič, ko prevajalnik videli v izvorno kodo poziv za funkcijo RGB samo izračuna rezultat z uporabo 3 parametre in jih to pripeljalo nazaj v izvorno kodo (po tej fazi pred pripravo prevajalnik bo res zbere izvorno kodo - ugotavlja, da scource ne bo spremenjen, it's just virtualni spremembo, da veste, vendar ne vidi)

OBSTAJA je samo constat ...njegova vrednost se izračunava z uporabo "klic" na RGB-Led-

 
# Define RGB (r, g, b) (((r & 0xF8) <<8 | ((g & 0xFC) <<3) | ((b & 0xF8)>> 3))

tega področja je zbrati, ko pogoj za visoko barvno je res
vrednosti r, je prva bitni anded z hex vrednostjo 0xF8, in potem je preusmerjena na levo 8 krat
Podobno spremenljivi g je anded z 0xFC, in levo preusmerila 3-krat in
spremenljivka b je anded z 0xF8, ampak se prenaša na desno
potem so vrednosti vseh ORed

# Define RGB (r, g, b) ((r & 0xE0) | ((g & 0xE0)>> 3) | (b>> 6))

te vrstice se bodo zbirali, če u ne opredeli HIGH_COLOR v začetku ur kode

 

Welcome to EDABoard.com

Sponsor

Back
Top