Перейти к содержимому
Форум журнала практической электроники «Датагор»

Оригинал микро-ПК Raspberry Pi 3 Model B+ (Broadcom 1.4GHz quad-core 64 bit processor, Wifi, Bluetooth, USB)

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км! Охота, поход, торговый центр и т.п.

TrueRMS мультиметр UNI-T UT139A с автодиапазонами

Паяльнник 80W с терморегулятором и LCD-дисплеем, популярные жала серии 900M
Гость химик

РТ2322 + РТ2323 Пишем прошивку - шестиканальный регулятор громкости и селектор входов

Рекомендованные сообщения

Гость химик

Доброго времени Датагорцы!

Интересно, почему все лепят регуляторы громкости только на TDAшках. Есть пара тайских микросхем РТ2323 и РТ2322, они стоят в некоторых домашних кинотеатрах ВВК.

Искажения 0,005%. Пока что запустил РТ2323, так как она самая простая в управлении. Звук очень понравился.

 

Теперь бы разобраться с регулировками РТ2322. Сразу пишу что моих знаний не достаточно для написания программы так как надо. Как превратить децибельные значения в биты управления не смог понять, поэтому думаю сделать так:

при нажатии кнопки минус прибавлять единицу к

значению управляющего бита единиц децибел;

когда значение децибел переходит с единиц в десяток,

то прибавляем единицу к биту управления десятками децибел;

для отображения уровня хотел сделать так: так как -70db равно числу 231(min), а 0db 224(max) - то результат управляющего бита сдвинуть в лево на 231 и результат отобразить в разряд десятков не отображая знак. И так же с единицами децибел.

Возможен ли такой вариант или никто не понял что я хотел?

 

Вот здесь ссылки на полные даташиты этих микросхем:

-moemesto.ru/BIYON_DEGREYV/link/9691529

-moemesto.ru/BIYON_DEGREYV/link/9691585

post-2789-1292257670_thumb.jpg

Изменено пользователем химик

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик

Вот здесь мне помогали писать программу: https://forum.datagor.ru/index.php?showtopic=5930 , там же находится схема управляющего устройства на АТмега16.

Есть вопрос, как правильно сдвинуть число в лево

peremennaja<<213;

если переменная была равна 213, то будет ли она после операции равна 0, или так не правильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Алексей (ohmjke)
Вот здесь мне помогали писать программу -forum.datagor.ru/index.php?showtopic=5930 , там же находится схема управляющего устройства на АТмега16.

Есть вопрос, как правильно сдвинуть число в лево

peremennaja<<213;

если переменная была равна 213, то будет ли она после операции равна 0, или так не правильно?

Не совсем понял Ваше последнее предложение. Я сдвигал так - peremennaja<<=1; либо так - peremennaja=peremennaja<<1;

Единица здесь показывает на сколько разрядов нужно сдвинуть.

А вот будет ли переменная после подобной операции равна нулю или нет, зависит от начального значения переменной, и от того, на сколько её сдвинуть.

213 в двоичной системе 11010101, чтобы она стала равна нулю нужно сдвинуть её на 8 разрядов влево...

Изменено пользователем Алексей (ohmjke)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик
Не совсем понял Ваше последнее предложение. Я сдвигал так - peremennaja<<=1; либо так - peremennaja=peremennaja<<1;

Единица здесь показывает на сколько разрядов нужно сдвинуть.

А вот будет ли переменная после подобной операции равна нулю или нет, зависит от начального значения переменной, и от того, на сколько её сдвинуть.

213 в двоичной системе 11010101, чтобы она стала равна нулю нужно сдвинуть её на 8 разрядов влево...

Теперь понял что не правильно.

Изменено пользователем химик

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик
Теперь понял что не правильно. Сделал вот так как в файле, но теперь по очереди выскакивают три окна с ошибками, после чего файлы закрываются.

После переустановки windows компилятор начал показывать где ошибка. Оказалось что в функции Mute();. Пока что убрал ее.

Изменено пользователем химик

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость mskip

как с доставаемостью у этих микросхем ?

 

прицепить ЖКИ, валкодер, пульт и пару кнопок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик
как с доставаемостью у этих микросхем ?

 

прицепить ЖКИ, валкодер, пульт и пару кнопок.

Ну как на счет составаемости не знаю, я заказывал в интернете. Цену писал в первом посте, но Игорь удалил, значит нельзя это писать.

Схема ниже, исходники какие есть на данный момент

 

Схема изменена - поменял местами вывода PORTD.1 и PORTD.3.

:smile:

post-2789-1295109199_thumb.gif

Изменено пользователем химик

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость mskip
Ну как на счет составаемости не знаю, я заказывал в интернете. Цену писал в первом посте, но Игорь удалил, значит нельзя это писать.

Схема ниже, исходники какие есть на данный момент

в процессе разработка подобного устройства на PIC (разлюбил я atmel) ... вот еще бы spdif :smile: микросхемке...

а зачем lm75 ? или полный усилитель будет ?

индикатор бы OLED приобрести. а то обычные уже приелись и глаз не радуют, я вообще в последнее время смотрю в сторону светодиодных семисегментников со статичным режимом

Изменено пользователем mskip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик
в процессе разработка подобного устройства на PIC (разлюбил я atmel) ... вот еще бы spdif :smile: микросхемке...

а зачем lm75 ? или полный усилитель будет ?

индикатор бы OLED приобрести. а то обычные уже приелись и глаз не радуют, я вообще в последнее время смотрю в сторону светодиодных семисегментников со статичным режимом

LM75 у меня просто показывает температуру в комнате, помоему он не лишний. Я зимой постоянно слежу за температурой. Усилители уже все собраны, отлажены и радуют меня.

Сейчас задача разобраться с регулировками громкости. Тембра отключены за ненадобностью. На счет дисплея, поставил то что есть.

 

Если кто смотрел - в моем исходнике функции Master Volume() и Volume LCD(), скажите будет ли так работать?

Ну и по возможности подскажите как будет лучше.

Я ни как не разберу, как функция возвращает значение. Если кто поможет, то наверное функции будут выглядеть лучше чем сейчас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик

:smile:

Товарищи выручайте. В архиве то что есть на данный момент. Компилируется нормально, есть куча вонингов. Пожалуйста объясните почему.

И при построении проекта опять ошибка при асемблировании. ПОЖАЛУЙСТА ПОМОГИТЕ!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость hsl
:smile:

Товарищи выручайте. В архиве то что есть на данный момент. Компилируется нормально, есть куча вонингов. Пожалуйста объясните почему.

И при построении проекта опять ошибка при асемблировании. ПОЖАЛУЙСТА ПОМОГИТЕ!!!

Warnings это значить есть что то заявленое но не используемое, папример делаешь функцию, но не используешь ее, вот тебе и Warnings.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик
Warnings это значить есть что то заявленое но не используемое, папример делаешь функцию, но не используешь ее, вот тебе и Warnings.

Привет Сергей, с наступившим!

Я хотел узнать, почему они именно там где есть.

А именно при сравнении значений (пишет что бесполезные сравнения), и еще указывает на оператор case

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

︽ Наверх страницы ︽
×
×
  • Создать...