Самодельная MIDI система для баяна или гармони

Больше
6 года 11 мес. назад #43065 от Андрей
Спасибо за совет. А как собирается аккорд из 3 звуков, у вас свой проект, наверное все по другому как-то.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 11 мес. назад - 6 года 11 мес. назад #43066 от Дмитрий

Александр пишет: Теперь попробуйте разные варианты отправки команды:
if ((md_data.md_pressure == 1) && (md_pressure_lock == 0)) // Если датчик включен и не заблокирован кнопкой "Режим"
Command3(0xB0 | channel, 0x07,64);

if ((md_data.md_pressure == 1) && (md_pressure_lock == 0)) // Если датчик включен и не заблокирован кнопкой "Режим"
Command3(0xB0 | 0, 0x07,volume);

//if ((md_data.md_pressure == 1) && (md_pressure_lock == 0)) // Если датчик включен и не заблокирован кнопкой "Режим"
// Command3(0xB0 | channel, 0x07,volume);

На какой-нибудь перестал L моргать?

на 3 не моргает но он и не реагирует на мех
Последнее редактирование: 6 года 11 мес. назад пользователем Дмитрий.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 11 мес. назад #43067 от Андрей
Монументально, работа сделана немалая, что-то героическое в этом есть

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 11 мес. назад - 6 года 11 мес. назад #43068 от Иван Подольский
Иван Подольский ответил в теме Самодельная MIDI система для баяна или гармони

Александр пишет: Например, громкость канала более чем 127.
Нужно будет добавить проверку достоверности и проверку версии.


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

Дмитрий пишет: на 3 не моргает но он и не реагирует на мех


Так и команду не посылает. Там параметры в char, переполнение м. б.? Симптомы те же будут.
Последнее редактирование: 6 года 11 мес. назад пользователем Иван Подольский.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 11 мес. назад - 6 года 11 мес. назад #43069 от Александр
Дмитрий, всё как-то очень странно получается.
1 задать фиксированную громкость 64 для всех каналов (датчик в этом случае не работает)
2 задать громкость с датчика только для канала 0. (Тут датчик работает, но только для канала 0).
3 просто ничего не делать с громкостью и не отправлять команду. (Тут вообще ничего не происходит) Хотя бы мы теперь знаем, что глючит именно эта команда. Но почему? Пока не ясно.
То что написано в скобках верно? Так и было?

Попробуйте вариант 4: задать фиксированную громкость для канала 0
if ((md_data.md_pressure == 1) && (md_pressure_lock == 0)) // Если датчик включен и не заблокирован кнопкой "Режим"
Command3(0xB0 | 0, 0x07,64);
Если и здесь будет моргать, то датчик тут не при чём.

И ещё, куда сейчас подключен выход MIDI (D1 на плате)? На передатчик или прямое подключение через MIDI-USB?
Попробуйте отпаять всё от вывода D1 и проверить ещё раз, перезагружается плата или нет (также все 4 пункта).
Последнее редактирование: 6 года 11 мес. назад пользователем Александр. Причина: Потому что мысль

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 11 мес. назад #43070 от Иван Подольский
Иван Подольский ответил в теме Самодельная MIDI система для баяна или гармони
Я вижу, что громкость у вас обычный int, то есть, если она станет меньше нуля или больше 255, то на функции Command3 все крякнется при приведении к char. Надо присмотреться.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.354 секунд
Работает на Kunena форум