Причем тут антенна? В библиотечном TestRDA5807M такого эффекта нет. При выключении/включении прием восстанавливается.И еще одна проблема. Устанавливаю в скетче частоту любимой станции 10060. При включении отображается эта частота, а приемник шипит. Один поворот энкодера - станция начинает звучать.
Перед прошивкой в Arduino в инструментах надо в "Erase Flesh: выставить "All Flash Contents:И еще один момент. Такое впечатление, что при перезагрузке скетча настроенные ранее станции почему-то сохраняются, но вроде все должно быть с нуля
Спасибо за внимание к моему вопросу. Да, проделал, и неоднократно. При включении на дисплее частота "любимой" станции, приемник шипит. Один поворот энкодера, иногда два, станция включается. Предполагаю, что при включении питания RDA5807m не получает от МК первичную настройку или она приходит не полностью. Проверил на скетче из библиотеки, в который вставил следующий код:Если вы всё это проделали, а ситуация не поменялась, то будем разбираться дальше.
#include <Wire.h>
// Настраиваемая задержка при включении (в миллисекундах)
const unsigned long INITIAL_DELAY = 2000; // 2 секунды по умолчанию
// Флаг для отслеживания первого включения
bool firstPowerOn = true;
void setup() {
Serial.begin(9600);
Wire.begin();
// Проверяем, нужно ли выполнить задержку
if (firstPowerOn) {
Serial.println("Первое включение - выполняется задержка...");
delay(INITIAL_DELAY);
firstPowerOn = false; // Устанавливаем флаг, чтобы больше не выполнять
}
#define INIT_KEY 28 // ключ первого запуска. 0-254, на выбор
бесполезен, т.к. функция setup всегда исполняется единожды при включении ардуино.// Флаг для отслеживания первого включения bool firstPowerOn = true;
Wire.begin();
Wire.setClock(400000L);
delay(2000);
radio.init();
radio.setVolume(volume);
Это сработало. Вставил после 182-й строки текста. Спасибо. А можно попросить Вас сделать вариант (версию), в которой автонастройка заменена фиксированным списком, который переключается энкодером? Дело в том, что частоты станций не меняются годами и автонастройка практически не нужна, так как все частоты известны заранее.Можно обойтись всего одной строчкой: delay(2000);
В IDE 2.3.4 в меню инструменты такого нет.Перед прошивкой в Arduino в инструментах надо в "Erase Flesh: выставить "All Flash Contents: