Привет!
Можешь подсказать по работе RDA-шки. Вроде бы работает, но как-то странно:
1) Задаёшь команду поиска:
Register_02H:=%11000011;
Register_02L:=%00000101;
Register_03H:=%00000000;
Register_03L:=%00001000;
Register_04H:=%01000010;
Register_04L:=%00010000;
Находит в Запорожье каналы, но в такой странной последовательности, МГц: 76.6 -> 109.9 -> 102.2 -> 106.6 -> 102.2 -> 106.6 -> 101.1 -> 102.2 -> 76.6 -> 109.9 -> 106.6 -> 101.1
В общем бред какой-то без логики.
2) Не работает формула определения частоты из datasheet:
BAND = 1 or 2
Frequency = Channel Spacing (kHz) x READCHAN[9:0]+ 76.0 MHz
Зато работает так и частоту определяет правильно: Frequency = READCHAN[9:0]+ 76.0 MHz
Считывание регистров сделал так:
Procedure RDA5807FP_read();
Begin
SREG_I_bit:=0;
TWI_Init(50000); // initialize TWI communication
TWI_Start();
TWI_Write(%00100001);
Register_0AH:=TWI_Read(1);
Register_0AL:=TWI_Read(1);
Register_0BH:=TWI_Read(1);
Register_0BL:=TWI_Read(0);
TWI_Stop();
TWI_Close();
SREG_I_bit:=1;
end;
Определение частоты:
tmp:=Register_0AL;
if Register_0AH.0=1 then tmp:=tmp+256;
if Register_0AH.1=1 then tmp:=tmp+512;
tmp:=760+tmp;
FREQ:=tmp;
Если не трудно, подскажи, пожалуйста