с Синтекс для CCS PIC с

A

adnan012

Guest
Я взаимодействия цветной ЖК-дисплей с ПИК контроллера.Вот кусок кода, который я взять с сайта.Что такое функция 2-го и 4-ю строку.HIGH_COLOR используется для цветной ЖК и 12бит или 16 бит.

# IFDEF HIGH_COLOR

# Определить RGB (R, G, B) (((г и 0xF8) <<8 | ((г и 0xFC) <<3) | ((б и 0xF8)>> 3))

# Определить NONE RGB (0x00, 0x40, 0x00)
# Другое
# Определить RGB (R, G, B) ((г и 0xE0) | ((г и 0xE0)>> 3) | (Ь>> 6))

# Определить NONE RGB (0x00, 0x20, 0x00)
# ENDIF

 
кусок кода условной компиляции кода ...во время компиляции (не во время выполнения) компилятор проверяет, используется ли где-то в источнике. существует с # определить для HIGH_COLOR (напр., # определить HIGH_COLOR правда)
если это так компилятор компиляции line2 и линия 3 другое компилятор будет составлять line5 и line6

# Определить RGB (R, G, B) (((г и 0xF8) <<8 | ((г и 0xFC) <<3) | ((б и 0xF8)>> 3))
или
# Определить RGB (R, G, B) ((г и 0xE0) | ((г и 0xE0)>> 3) | (Ь>> 6))

Я думаю, что эти строки определить "funcion" называется RGB, что занимает 3 параметров (R, G, B), и возвращает их комбинацию (8-битный Int я думаю).Поэтому каждый раз, компилятор см. в исходном коде вызова функции RGB просто вычисляет результат с помощью 3 параметров и положить этот результат обратно в исходный код (после предварительного этапа компиляции компилятор будет действительно компиляции исходного кода - Отметим, что scource не будут изменены, то это просто виртуальный изменения, что вы знаете, но не вижу)

NONE просто заверенная копия ...его стоимость определяется с использованием "вызов" RGB-Лед-

 
# Определить RGB (R, G, B) (((г и 0xF8) <<8 | ((г и 0xFC) <<3) | ((б и 0xF8)>> 3))

эта линия составлена, когда состояние румянец правда
значение г, первая побитовое конъюнкцией с шестнадцатеричного значения 0xF8, а затем сдвигается влево 8 раз
Аналогично переменная г является конъюнкцией с 0xFC и оставил смещается в 3 раза и
Переменная Ь конъюнкцией с 0xF8 но сдвинута вправо
то все значения окрашенные

# Определить RGB (R, G, B) ((г и 0xE0) | ((г и 0xE0)>> 3) | (Ь>> 6))

эта линия будет составлен, если у не определить HIGH_COLOR в начале ур код

 

Welcome to EDABoard.com

Sponsor

Back
Top