5

UART библиотеки, нужен совет.

5 сообщений в этой теме

Програмировал на ардуино достаточно долго, пока  'ардуина-фобы' не убегайте, обьясню как в нём сериал линк удобно использовать. Допустим для отладки нужен командный интерфейс, регистов парочку поменять 'на лету'. Я там использовал типа такой кострукции;

  if( end_input) {
    char cmd = in_String[0];
    in_String[0] = '+';

    if( cmd == 'd' ) {
      debug_osm = 1 - debug_osm;
      if(debug_osm) Serial.print(F("\nDebug aktiv."));
      else          Serial.print(F("\nDebug de-aktiv."));
      }
    
    if( cmd == 'a' ) {
      adres_reg = strtol( in_String.c_str(), &pEnd, 16);
        Serial.print(F("\n\tReg: "));
        Serial.print(adres_reg, HEX);
      }
    if( cmd == 'w' ) {
        Serial.print(F("\n\tReg: "));
        Serial.print(adres_reg, HEX);
      value_reg = strtol( in_String.c_str(), &pEnd, 2);      
      i2c_w( adres_reg, value_reg );
        Serial.print(F("\tnew  value: "));
        Serial.print( value_reg, BIN);      
      if( error_i2c ) Serial.print(F("\t!ERROR"));
      else            Serial.print(F("\t!O'K"));
        error_i2c = 0;
      }

т.е. по серийнику с компа я отсылаю строку с буквами и цифрами, ардуина 'парсит' и в зависимости от буквы меняет адресс регистра, производит запись/считывание и т.д. Любую периферию или внутренние потроха в лёт поменять. Обратно там есть сериал.принт, понимает как слать на комп бин, октал, хекс и децимал, в интераптах.

Теперь вопрос - два дня ищу что-то подобное на стм32ф3/4 и не могу найти. Библиотеки есть готовые? Примеры я нашёл, на интераптах, убогие примерчики - там чтобы до ума довести надо кольцевые буфферы дописывать, данные форматировать и т.д.

Как сделать кли - команд лайн интерфейс на стм-э?

0

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


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

ну я когда баловался с MP3 плейером (модулем), то использовал такой механизм. Но конкретных либ под это дело не использовал. Просто написал парсер и командный процессор и все работало. Могу дать код. Кольцевых буферов там нет, есть односимвольный буфер. Он цепляется на DMA и обрабатывается по мере поступления символов как строка с окончанием на \n. То есть из консоли можно слать что угодно и потом обрабатывать на свой вкус. Можете вычленить код и оформить в библиотеку.

До мегабита работает отлично, потом может пропускать символы. На 115200 вообще железобетон.

Надо?

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

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


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

Спасибо, нет. На дма тоже в примерах с эстиэма нашёл.

Хотелось бы,  в 5 разных файлов куда-то строки куда то функции каждый раз не вставлять. 

0

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


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

чтобы была библиотека, надо чтобы ее кто нибудь написал

0

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


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

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

2
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

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

  Разрешено не более 75 смайлов.

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

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

Загрузка...

  • Сообщения

    • мне бы параметры управления узнать)
    • Ток 200 Ампер, напр 800 Вольт 2000 Ампер, пардон
    • Оказалось,как я предполагал,поменял в предвыходе ,BD139,140,на первые попавшиеся под руку КТ815Г,814Г,с одной партии,пока всё норм!
    • Здравствуйте, нужна помощь. Никак не могу найти характеристики тиристора Т163-2000-8.
    • Лучше чтоб батарейка стояла в самом девайсе (как и в настоящем велоспидометре)   Магнит на спицу, на защёлке, датчик на вилку на хомут (как и в настоящем велоспидометре) Скорость (текущая, средняя скорость), сколько проехано (без остановок, с остановками, за день, средний пробег, общий пробег), время (текущее, время езды, время простоя).... (как и в настоящем велоспидометре средней сложности). И уложиться надо будет в 2тыра. С уважением, Сергей
    • оно получается,щёлкает рэле и пропадают +5v и+12,идущие на min,интересно кто управляет рэле? неужели проц? смысл ткинуть шлейф вроде только от тикона причём счёт. после того как постоит, начинает довольно долго работать ,потом отключается -щупал по плате -ничего особо сильно не греется.
    • Блок питания 1600Вт для компа или майнинга.   Продам нерабочий блок питания 1600W Ultra X3  ULT-HE1600X. Не включается.   Состояние корпуса, разъемов, проводов, шлейфов, платы, монтажа и всего остального – отличное. Фотки реальные, именно этого моего блока. Блоку чуть больше года, стоял и отлично работал на обычном игровом системнике. Из-за разъема, попавшего в решетку вентилятора при неаккуртаной сборке системника, случайно заклинили большой вентилятор и блок долгое время работал без охлаждения от большого вентилятора, только на маленьком торцевом вентиляторе. Благодаря большому запасу по мощности долгое время проблем не было. Потом блок стал посвистывать, иногда тихо пищать, периодически включаться не с первого раза, затем перестал включаться совсем. Вскрытие обнаружило одну отломанную лопасть большого вентилятора и 5 шт вздутых кондеров, но их замена на такие же новые ничего не дала. Дальше ковыряться не стал, чтобы не усугублять, ибо схемы к нему даже похожей не нашел, да и немой уровень таких поломок. Решил продать с хорошим дисконтом. Умелец вполне думаю сможет оживить его и немного заработать. Все детали гарантированно на месте.   Такие блоки для майнеров на авито продают в пределах 12-18тр. Поэтому думаю 3тр вполне приемлемая цена для моего.   Могу переслать по России почтой рф или транспортными СДЭК (cdek.ru), КИТ (tk-kit.ru).   Фото состояния и комплектации - прилагаю. Будут вопросы – не стесняйтесь!