| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Ардуино и RDA5807 https://radiokot.ru/forum/viewtopic.php?f=66&t=195113 |
Страница 1 из 1 |
| Автор: | rw6hrm [ Вт окт 08, 2024 00:02:19 ] | ||
| Заголовок сообщения: | Ардуино и RDA5807 | ||
Тема радиоприёмника на RDA5807 вроде бы и обсосана в соседней ветке форума, однако там народ в основном пользует регистры напрямую. Посему задам вопрос тут, поскольку чтот не получается... ...а именно не получается с функцией настройки приёмника radio.setBandFrequency(FIX_BAND, newFreq); Если newFreq опредляется дефайном, то всё отлично работает. Если newFreq опредляется как переменная (int или, как требуется, uint16_t), то всё стопорится и далее код не исполняется, хотя компилятор не ругается (версия 1.6.13)... Есть одно смущение, когда я определяю величину переменной. У меня используется 4-х разрядный семисегментник. Поэтому индикация частоты на нём высвечивается от 875 до 1080 (мне этого достаточно). Также это число (переменная number) запоминается в еепром, для последующего включения на этой частоте. Чтобы определить цифру, которую надо отправить в RDAшку, я умножаю его на 10, чтобы получилось от 8750 до 10800. Получается так: newFreq = number; newFreq *= 10; radio.setBandFrequency(FIX_BAND, newFreq); и всё стопорится... Проект с либой цепляю. Схема вроде бы не нужна.
|
|||
| Автор: | JMC.Hard [ Вт окт 08, 2024 00:42:47 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
А попробуйте, rw6hrm, определить newFreq как word, ну или unsigned int. |
|
| Автор: | Martian [ Вт окт 08, 2024 07:25:40 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Лучше (правильней) объявлять тем типом, который используется функцией. Либо принудительно приводить к нему. Даже если изначально это тоже был uint16_t |
|
| Автор: | BOB51 [ Вт окт 08, 2024 21:50:40 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Прокрутил компиляцию вышеприложенного проекта от rw6hrm на ардуино IDE 1.8.9 для платформы arduino nano atmega328p (old bootloader) Версия платформы 1.8.3... Никаких замечаний... Даже вармингов нету (хотя у меня установлено для сообщений компилятора опция ВСЕ)... Код: Скетч использует 10042 байт (32%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 1014 байт (49%) динамической памяти, оставляя 1034 байт для локальных переменных. Максимум: 2048 байт. Правда у меня установлен вот этот вариант библиотек: Вложение: ![]() Как рекомендация - переустановить IDE (на версии 1.8.9 или 1.8.19 в прортабле режиме) |
|
| Автор: | rw6hrm [ Ср окт 09, 2024 18:09:03 ] | |||||
| Заголовок сообщения: | Re: Ардуино и RDA5807 | |||||
Спасибо за ответы. По порядку - использую 1.6.13 поскольку это максимум, что запускается на ВинХР if (!radio.initWire(Wire)) { delay(1000); } ну и потом все обращения к чипу далее... И, с*ка, всё пошло. А я, старый, забыл про это, разумеется всё висло, поскольку всё тупо кидалось в /dev/null... ...однако, почему срабатывал вариант с дефайном - мне неведомо... Так что посыпаю голову пеплом, что занял время у уважаемых форумчан... Черновик схемы (другого нет) и фото внешности и кишков прилагаю, мож кому интересно. Осталось добить скетч на работу с пару сотней ячеек памяти для преднастроенных станций (много, ибо по работе нужно).
|
||||||
| Автор: | BOB51 [ Ср окт 09, 2024 18:28:29 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Под виндовс ХР х32 идет Портабле вариант ардуиноIDE 1.8.9. Единственно - ни обновлять платформы ни обновлять библиотеки из под ХР в ней НЕЛЬЗЯ. Сразу должен быть выключен флажек "файл -> настройки -> проверять обновления при запуске" (устанавливаем и первый раз запускаем ТОЛЬКО ПРИ ОТКЛЮЧЕННОМ ИНТЕРНЕТЕ!!!). Далее НЕЛЬЗЯ будет запускать менеджер платформ и менеджер библиотек - в остальном ограничений нет. А для обновления и подгрузки новых платформ использовать портабле копию на флешке, которая запускается на ПК с виндовс 7/10 и затем копируется в каталоги на ПК с ХР. Штука довольно нудная, но отлично работает.
|
|
| Автор: | Огонёк [ Вс окт 20, 2024 22:09:13 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
rw6hrm писал(а): Осталось добить скетч на работу с пару сотней ячеек памяти для преднастроенных станций (много, ибо по работе нужно). Аж любопытно стало, что это за работа такая, где нужно помнить частоты пары сотен вещательных станций. (Их по стране вообще столько наберётся хоть?) |
|
| Автор: | rw6hrm [ Вс окт 20, 2024 22:31:44 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Радиовещанием работа называется. Ну всю пару сотен это так, шоб було |
|
| Автор: | rw6hrm [ Чт окт 31, 2024 20:31:56 ] |
| Заголовок сообщения: | RDA5807 и SCA |
Дабы не плодить новую тему спрошу тут оффтопом, а то мало ли, - как я понимаю, вытащить из RDAшки аудиоподнесущие SCA1/SCA2 (76/92 кГц) физиологически невозможно? |
|
| Автор: | veso74 [ Чт окт 31, 2024 21:05:37 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Документация: Цитата: REG 06H [7:4] - I2S_SW_CNT[4:0] 4'b1000: WS_STEP_48; 4'b0111: WS_STEP=44.1kbps; 4'b0110: WS_STEP=32kbps; 4'b0101: WS_STEP=24kbps; 4'b0100: WS_STEP=22.05kbps; 4'b0011: WS_STEP=16kbps; 4'b0010: WS_STEP=12kbps; 4'b0001: WS_STEP=11.025kbps; 4'b0000: WS_STEP=8kbps; Никто не задокументировал и не раскрыл скрытые возможности. |
|
| Автор: | rw6hrm [ Чт окт 31, 2024 21:17:01 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Как бы это немножечко не то, kbps тут вообще не при делах... SCA - это ЧМ-модулированные аудиоподнесущие внутри излучаемого спектра УКВ-станций. RDS - это тоже на поднесущей, 57 кГц, но DSB-модулированное. По сути говоря, аудиовещание на поднесущих - это почти то же самое, что и проводная трёхпрограммка... |
|
| Автор: | BOB51 [ Пт ноя 01, 2024 11:41:01 ] |
| Заголовок сообщения: | Re: Ардуино и RDA5807 |
Может тут чего накопаете: viewtopic.php?f=61&t=104279 |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|



