-=FISHER=- Опубликовано 22 февраля, 2019 Поделиться Опубликовано 22 февраля, 2019 Всех приветствую! Сейчас разбираюсь с управлением МК через Bluetooth с помощью самодельного приложения для Android, которое создано при помощи бесплатной среды разработки MIT App Inventor 2. Для начала хочу научиться управлять двухканальным ШИМ через интерфейс из двух "Бегунков". Вот такой простейший интерфейс. Скрытый текст Отправляются данные на МК с помощью вот такой простейшей программы. Обрабатывается событие, которое происходит после изменения положения "бегунка", на МК (к которому через HC-05 ранее было осуществленно подключение) отправляется байт данных, который содержит значение регистра OCR1A или OCR1B. А также для наглядности значение выводится в текстовое поле. Скрытый текст МК в свою очередь обрабатывает эти данные в прерывании по приёму USART следующим образом: Скрытый текст ISR(USART_RXC_vect) { OCR1A=UDR; } В целом всё работает, но когда добавляется второй канал ШИМ, возникает проблема, для решения которой я и обратился к Вам, как мне грамотнее разделить данные от первого и второго бегунка и распределить их по регистрам OCR1A и OCR1B ? 0 Мы все учились по-немногу, чему-нибудь и как-нибудь... Ссылка на комментарий Поделиться на другие сайты Поделиться
ruhi Опубликовано 22 февраля, 2019 Поделиться Опубликовано 22 февраля, 2019 2 часа назад, -=FISHER=- сказал: отправляется байт данных, который содержит значение регистра OCR1A или OCR1B так отправьте 2-байта в первом номер регистра А или В, а во втором значение регистра. 0 Можно сделать все! Но чем больше можно, тем больше нельзя! Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
-=FISHER=- Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 46 минут назад, ruhi сказал: так отправьте 2-байта Ну а как это будет выглядеть? Сначала отправляю байт с номером регистра, в прерывании становится понятно что это регистр A например, следом отправляю байт со значением регистра, мы заходим в прерывание снова и.... первый байт ведь уже потерян? я не понимаю сам механизм, сможете набросать код для примера пожалуйста? 0 Мы все учились по-немногу, чему-нибудь и как-нибудь... Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
ruhi Опубликовано 22 февраля, 2019 Поделиться Опубликовано 22 февраля, 2019 18 минут назад, -=FISHER=- сказал: сможете набросать код для примера пожалуйста? это ж охириниеть как сложно static uchar stage = 0; static uchar regNum = 0; ISR(USART_RXC_vect) { if(stage == 0) { stage = 1; regNum =UDR; } else if(stage == 1) { stage = 0; if(regNum == 0) OCR1A=UDR; else if(regNum == 1) OCR1B=UDR; } } 0 Можно сделать все! Но чем больше можно, тем больше нельзя! Ссылка на комментарий Поделиться на другие сайты Поделиться
-=FISHER=- Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 10 минут назад, ruhi сказал: это ж охириниеть А что переменная не скинется в ноль автоматически при новом входе в прерывание?? 0 Мы все учились по-немногу, чему-нибудь и как-нибудь... Ссылка на комментарий Поделиться на другие сайты Поделиться
ruhi Опубликовано 22 февраля, 2019 Поделиться Опубликовано 22 февраля, 2019 (изменено) 2 минуты назад, -=FISHER=- сказал: А что переменная не скинется в ноль автоматически при новом входе в прерывание?? Ну вы блин даЁте ! НЕТ! это то же у вас С-язык? Изменено 22 февраля, 2019 пользователем ruhi 0 Можно сделать все! Но чем больше можно, тем больше нельзя! Ссылка на комментарий Поделиться на другие сайты Поделиться
-=FISHER=- Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 39 минут назад, ruhi сказал: Ну вы блин даЁте жёстко же я затупил 0 Мы все учились по-немногу, чему-нибудь и как-нибудь... Ссылка на комментарий Поделиться на другие сайты Поделиться
-=FISHER=- Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 2 часа назад, ruhi сказал: это ж охириниеть В общем использовал Ваш пример, всё в целом заработало, только вот работает немного глючно. Чтобы не читать много букв, посмотрите пожалуйста короткое видео на Youtube, на не видно что яркость меняется скачками, а хотелось бы плавно...Интересно, может быть дело в том что что не желательно менять содержимое регистров OCR1A и B из прерывания или ещё в чем?.. .Видео 0 Мы все учились по-немногу, чему-нибудь и как-нибудь... Ссылка на комментарий Поделиться на другие сайты Поделиться
Vit@lik Опубликовано 13 июня, 2021 Поделиться Опубликовано 13 июня, 2021 Здравствуйте, подскажите пожалуйста, сколько вблизи одновременно может работать bluetooth модулей HC-05/HC06 и им подобных не мешая друг другу? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.