Перейти к содержанию

BT201 схема подключения и управление из под ATMEGA8


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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

@korsajЧего то я не совсем понимаю как данную функцию вызывать проверять с конкретными данными.

18 минут назад, korsaj сказал:

На вход данной функции передадим два аргумента (массива) str1, str2, а возвращать она нам будет 0 или 1, тогда имеем функцию:
char cmpcmd(char[] str1, char[] str2)

Тем более что у меня в большей части данные которые я буду получать я не знаю полученную информацию там только известны первые символы и последние символы, а в середине хранятся данные которые каждый раз разные. Вот в том то и вся суть приёма данных. Чтобы можно было получить данные и вывести на индикаторы. Так что вариант сравнения строк тут наверное мало поможет. Тут как я понимаю нужно сравнивать конкретные символы и всю информацию между этими символами отдавать уже в обработку программе для вывода на индикацию. Потому как известно что сколько символов занимают данные то есть длинна принятой посылки всегда одинакова для определённого типа информации.

3 минуты назад, bulat943 сказал:

И в чем проблема?

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

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Ну так а в чем проблема сравнить те символы которые определяют команду/ответ. Приведите пример команды и ответа, а я вам покажу как сравнивать.

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

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Так он же пишет-

18 минут назад, tifaso сказал:

на передачу я уже всё сделал и оно работает

Не пойму-зачем здесь 

send_UART(0x0D);
send_UART(0x0A);

ведь надо отправлять  \ r \ n

send_UART(0x5C);
send_UART(0x72);
send_UART(0x5C);
send_UART(0x6E);

 

Изменено пользователем bulat943
Ссылка на комментарий
Поделиться на другие сайты

Хотел предложить купить что то готовое: типа такого - https://aliexpress.ru/item/1005002210385012.html .  Ведь пульт есть, AUX  и русский язык в наличии и мучиться не надо. Но боюсь экранчик маловат.

 

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

Думаю, каждый, кто следит за деятельностью автора темы, хоть раз, да предложил купить обсуждаемый девайс на Али, Озоне или ещё где-нибудь. И обломался.

"Я не знаю какой там коэффициент, я просто паять умею. "

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

@korsaj Я уже показывал, но видать не совсем правильно объяснил или вы так и не поняли что конкретно нужно.

Буду писать просто на примере самих команд как они приходят.

К примеру отправляем команду

AT+M2\r\n

В ответ мы получим следующее

M2+000010\r\n

Общее количество файлов равно 16 потому как это hex формат значений данных. И тут ещё их нужно будет переводить эти значения в десятичные.

Где собственно то что выделено жирным это и есть данные, а M2 обозначает что это за данные. В данном случае общее количество файлов. \r\n это конец команды.

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

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

2 минуты назад, tifaso сказал:

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

Надо не просто функцию сравнения писать, а полноценный декодер данных.

С уважением, Владимир

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

20 минут назад, bulat943 сказал:

Не пойму-зачем здесь 

send_UART(0x0D);
send_UART(0x0A);

ведь надо отправлять  \ r \ n

Я знаю что тут по другому нужно. Сейчас задача просто хотя бы пока наладить UART, а для этого я брал пример из статьи и потихоньку его дорабатываю. Потом естественно все эти команды уже перепишутся на те что нужно. Сейчас пока что только идёт наладка приёма команд.

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

29 минут назад, bulat943 сказал:

атмега16 правильно управляет модулем-я правильно понял?

Пока ещё нет ещё идёт наладка UART в самой меге, а после уже займусь и прошивкой самого управления плеером. Потому как всё управление здесь построено по UART без него ничего не сделать.

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

9 минут назад, bulat943 сказал:

ждет помощи

Он ждет когда ему напишут готовый код, потому как его знаний в программировании (как и во всем остальном) хватает только на Ctrl+C/Ctrl+V.

@tifaso, напиши уже прямо - напишите мне код. Денег не дам потому что у меня нет карты и онлайн-платежи для меня табу.

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

28 минут назад, bulat943 сказал:

Не пойму-зачем здесь 

713135218_.jpg.d21cf28c7c38fb51e510c97142243292.jpg

35 минут назад, korsaj сказал:

пример команды и ответа

Модуль может отправлять от одной до восьми строк, в зависимости от запроса. Каждая строка заканчивается 0x0D 0x0A. Это пример некоторых, далеко не всех, команд. Скриншот терминала, все ответы реальные.

741297849_BT201_.jpg.8de9198c7e07750eae1efc85d673cfe1.jpg

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

@andrusha_152 не знаю,у меня такой же модуль как у tifaso возвращал "\ r \ n",второй модуль (уже с миросхемой KT1025а) не помню что возвращал,он на даче трудится,так что сейчас проверить не могу

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

@donec понял,просто я перевел по таблице ASC  0x0D и 0x0A и получилось "перевод каретки(ентер)" и "S0" (не нашел что за управляющий символ)

А,вот нашел в даташите-

Цитата

[<param>] Если после CMD есть параметр, за ним следует [<param>]
\ r \ n Заканчивается на "\ r \ n", тип символа - перевод строки, а windows - клавиша ввода. Шестнадцатеричный 0x0D, 0x0A

 

Изменено пользователем bulat943
Ссылка на комментарий
Поделиться на другие сайты

Я наверное завтра запущу модуль от терминала и попробую заскринить что он мне выдаёт. Потому как уже не помню как оно там. Такие детали как то сразу не запонаются.

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

12 минут назад, tifaso сказал:

Да ничего я не придумывал.

А вот и зря.
Потому как ответ на команду AT+M2\r\n будет M2+000010\r\n, следовательно нужно принятую строку "M2+000010\r\n" сравнивать со строкой "M2+" и если есть полное совпадение, то мы может начать дальше разбирать строку, а именно 000010 - преобразовать в десятеричную систему (16).

if (cmpcmd("M2+", rx_buf)){
    unsigned int n = getDecFromHexStr(rx_buf);
    //Tеперь выводим на экран n     
}

 

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...