Вопросы и замечания по статьям и схемам, представленным на нашем сайте
При поддержке РадиоКОТструктор.ру
Пн авг 24, 2015 03:01:54
там все уже есть
сами посмотрите в файле fm_micro.c
- Код:
case 0:
if (nokey < 100) nokey++;
if (nokey == 100) {
save_volume(volume);
save_chanel(channel);
}
есть только один момент, запись произойдет не сразу а через нескольких сек после последнего переключения если не нажимать больше кнопок
можно конечно и сразу записывать, но в ЕЕПРОМ будет часто происходить запись, а у этого параметра есть ограничение на кол-во этих записей
Пн авг 24, 2015 06:23:58
Здравствуйте.
Предложу несколько вариантов:
1. Записать при программировании станцию и уровень громкости при включении и эти параметры не изменяются.
2. При включении приёмника начала работать первая по списку станция.
Уровень громкости при включении прописывается один раз в ячейку.
3. Перед выключением нажать кнопку mute и тогда сохранится станция и громкость а затем выключить питание.
Успехов.
Пн авг 24, 2015 06:29:24
да сдесь масса вариантов реализации, готов сделать любой, но макета у меня нет, так что проверка за вами Cheal и Amadeus
придите только к одному мнению - тот и сделаю
вариант Cheal мне нравится
Вт авг 25, 2015 09:13:03
Добрый день!
И всё же хотелось бы сделать нормальную работу приемника с сохранением последней выбранной станции и уровня громкости в EEProm.
У меня из 10 случаев только один раз получилось так как надо, а в остальных либо начинала играть случайная станция, либо слышен шум. Пару раз и уровень громкости при включении был на максимуме.
Может быть какие-то помехи по питанию влияют на процесс записи и считывания, но на плате установил достаточно фильтрующих конденсаторов (SMD 100n), включая в непосредственной близости возле ножек микроконтроллера.
dt_andrew, может быть переделаете способ записи, чтобы запись происходила не тогда, когда нет нажатия (if nokey), а когда была нажата кнопка, запускался таймер и , напр. через 20 сек происходила запись. Если нажать кнопку до истечения времени, таймер обнулялся и запускался заново.
Вт авг 25, 2015 09:17:12
20 сек слишком много 5 сек вполне достаточно, как сделано в основной прошивке
Вт авг 25, 2015 09:31:30
Но можно ли как-то исключить ложное считывание или неверную запись, напр. дополнительной проверкой.
А не влияет ли сам FM_CHANEL_ADDR 0x0E ? Может будет лучше работать, если поменять на 0х20 ?
Вт авг 25, 2015 09:44:58
Amadeus писал(а):Но можно ли как-то исключить ложное считывание или неверную запись, напр. дополнительной проверкой.
А не влияет ли сам FM_CHANEL_ADDR 0x0E ? Может будет лучше работать, если поменять на 0х20 ?
нет не влияет, адрес 0х20 занят, там станции храняться начиная
проверить конечно можно только что это даст в данном приемнике
индикации нет, и сообщить об ошибке некуда, накручивать там моргание светодиодом и прочее я не буду - говорил ранее об этом
так что только проверкой в железе
вот проверяйте сделал запись через 5 сек после нажатия на кнопки управления
перед прошивкой убедитесь что у вас стоит FUSE EESAVE иначе все станции которые вы прописали в ЕЕПРОМ затруться
о результатах сообщите
- Вложения
-
- FM_micro.rar
- (2.55 KiB) Скачиваний: 263
Последний раз редактировалось
dt_andrew Вт авг 25, 2015 09:53:35, всего редактировалось 2 раз(а).
Вт авг 25, 2015 09:51:17
Есть у меня внешняя EEPROM 24c02 (A21SC).
Сложно ли будет добавить её в проект для того чтобы запись происходила постоянно при каждом нажатии на кнопки?
Вт авг 25, 2015 09:54:44
никогда не работал с ними
Вт авг 25, 2015 10:04:13
И ещё такой момент. Прописал 15 станций. В проекте MAX_CHANEL 210. После 15 и перед первой если нажимать на кнопки начинается шум, т.е. переход на 16 и 210. Можно ли в проекте, напр. сделать проверку, если след. ячейка FF, значит переходим на первую. Или проще указать MAX_CHANEL 15. Хотелось, чтобы переход был по кругу - после 15 - 1.
Вт авг 25, 2015 10:16:01
MAX_CHANEL 210 - это не количество станций, а максимальная частота, канала - помните формулу для расчета я давал
кол-во станций это
#define MAX_CHANELS 25
в файле rda5807p.h
вот перекомпелил под 15 станций
- Вложения
-
- FM_micro.rar
- (2.55 KiB) Скачиваний: 248
Вт авг 25, 2015 11:38:34
Прошил, вот что получилось:
Переключение каналов стало по кругу. Сохранение канала и уровня громкости так и не происходит, при включении начинает играть с одной и той же станции и на одном и том же уровне громкости. Пробовал считывать память в Ponyprog после того как должно происходить сохранение - данные EEPROM не изменяются, но происходит то, что при нажатии на Reset. Аналогично, если сделать сброс, начинается тоже самое,что и при включении питания, с той же станции.
Вт авг 25, 2015 11:48:09
сделал сразу запись после нажатия на кнопки
- Вложения
-
- FM_micro.rar
- (2.59 KiB) Скачиваний: 226
Вт авг 25, 2015 11:52:42
Вот фьюзы, которые выставил:
- Вложения
-
- fuse.JPG
- (94.09 KiB) Скачиваний: 797
Вт авг 25, 2015 12:01:54
Совсем другое дело! Заработало! А вот громкость не сохраняет, постоянно на минимуме при включении питания.
Вт авг 25, 2015 13:42:00
еще немного поправил
- Вложения
-
- FM_micro.rar
- (2.38 KiB) Скачиваний: 235
Вт авг 25, 2015 17:54:58
Теперь происходит следующее: если переключить станции и кнопками пощелкать громкость, сохраняются и станция и громкость; если переключать только станции, а громкость не трогать - сохранения не происходят, при вкл. будет играть самая первая по списку станция с громкостью по умалчиванию.
Вт авг 25, 2015 23:34:09
не понимаю почему не сохраняется у вас
все команды стоят
там кода то на пол странияки
попробуйте последнее
- Вложения
-
- FM_micro.rar
- (2.39 KiB) Скачиваний: 248
Ср авг 26, 2015 11:29:26
Попробовал. Не сохраняется ничего. При вкл. сразу начинает играть первая по списку станция, уже не попадает на пустую волну (шум), а громкость стала не на минимуме, а где-то на серединке.
Ещё хотелось бы попробовать вариант, когда запись происходит только при нажатии на кнопку mute, с проверкой - если записалось успешно, то выполнить mute на пару сек. и возврат, иначе mute без возврата.
Ср авг 26, 2015 11:35:14
хорошо, это последнее что я сделаю
выложу последний исходник - дальше сами
отлаживать дистационно муторно и долго - постоянно отвлекаешся
на выходных наверно соберу макет, чтоб не быть голосновным и проверять буду сам
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.