Здесь объявляются переменные с присвоением им значений.осторожно! леоныч!!! писал(а):Вот нарыл программку. Не знаю как перевести. Ничего не понятно.....
/////////////////////////
// for KS-H-146, KS-H-148
#define CONST__GAINoff 0B10001000
#define CONST__GAINon 0B10001001 // Weak Signal Booster ON
#define CONST__LoBAND 0B00000001
#define CONST__MiBAND 0B00000010
#define CONST__HiBAND 0B00001100
Каждая переменная - это байт, отсылаемый тюнеру.
Gain - усиление, естественно вкл и выкл (on и off)
LoBand, Midband, Hiband - естественно байты установки диапозона. т.к. KSH142 - 148 - трехдиапозонные как и подавляющее больинство других СКВ
Это собственно и есть функция управления тюнером.////////////////////
void KSH14xPLL(void)
{
uint32_t fPCH1;
uint8_t Band;
Band = CONST__LoBAND;
if(FrcvWork > 155000L) Band = CONST__MiBAND;
if(FrcvWork > 440000L) Band = CONST__HiBAND;
fPCH1 = (uint16_t)((FrcvWork + RCVPCH1)/50);
I2CStart();
I2COutByte(0b11000000); // Tuner Address
I2COutByte(HiBYTE(fPCH1));
I2COutByte(LoBYTE(fPCH1));
I2COutByte((TunerGain)? CONST__GAINon:CONST__GAINoff);
I2COutByte(Band);
I2CStop();
return;
Здесь формируется пакет байтов отсылаемых по i2c
Сначала идет байт - адреса тюнера (0xC0), затем два байта частоты (из формулы), далее байт усиления сигнала и последний байт - диапазон
диапазон выбирается исходя из условий сравнения частоты с границами диапазонов и присвоением соответствубщего байта из переменных LoBand, Midband, Hiband
байты усиления - тоже заданы в переменных
FrcvWork - глобальная переменная, в которой задана частота.
Вот и все. Вот с переводом на бфском я Вам не помогу, даже не знаю что это. Для меня Си как то привычнее и роднее )))


