A

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

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


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

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

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

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

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

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

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

Загрузка...

  • Сообщения

    • зачем? Там и без схемы все делается в 90% случаев.
    • ATMEGA8A-PU, Atmega8-16PU   Что значит окончание -PU? И можно ли эту двойку запрограмировать при помощи USBASP.
    • @atmicandr хорошо, давайте узнаем. Я из Петербурга. Завтра взвешу трансы и воспользуюсь сервисом оценки стоимости на сайте почты. 
    • Вопрос все еще актуален =)) Неужели никто не видит?
    • @EXEn  необходимо впаять R1 и R5 по 10кОм, поможет
    • на холостом ходу было 320 в, после сборки напряжение просело до 275, на анодах ламп вышло 250 в, так и должно быть? - так и должно быть. Выпрямитель обладает внутренним сопротивлением, при номинальном токе нагрузки напряжение просаживается примерно до 80 - 85 %% от ХХ. На анодах выходных ламп оно ещё меньше, за счёт падения напряжения на сопротивлении обмотки выходнго трансформатора.
    • для ФИ добротность Qts от 0,39 до 0,5. Для БП добротность от 0,3 до 0,45, все что ниже идет на рупор или ЧВ. Прежде чем че то делать надо изучить теорию, не хотите учить, то хотя бы гляньте на БП  от dynacord или peecker sound, какие там динамики стоят. Это можно сказать что мировой производитель средней ценовой категории даного акустического исполнения, суют они туды динамики beyma или EV Во параметры ТС с динамика саба peecker sound 1кВт ПАРАМЕТРЫ ТИЛЯ-СМОЛЛА Fs, Гц - Собственная резонансная частота динамика :33 Гц Re, Ом - Сопротивление звуковой катушки по постоянному току :5,1 Z min, Ом - Минимальный импеданс :5,5 Ω Le, мГн - Индуктивность звуковой катушки :0,8 мГн Qms - Q динамика для значения частоты Fs. Допускает только механические (неэлектромагнитные) потери :7,7 Qes - Q динамика для значения частоты Fs. Допускает только электромагнитные (не механические) потери или затухание колебаний :0,282 Qts - Добротность динамика для значения частоты Fs с учетом всех электромагнитных и механических потерь :0,278 Vas, л - Объем воздуха, имеющий упругость, эквивалентную упругости подвеса динамика :250,0 Vd - Возбуждаемый объем (произведение Sd на Xmax) :660 см³ Cms - Коэффициент механической податливости подвеса :229 µm/N Rms, кг/с - Активное механическое сопротивление :2,73 Bl, Тm - Мощность электропривода динамика :24.3 N/A Mms, г - Механическая масса диффузора с учетом аэродинамической нагрузки :105,0 Xmax, мм - Максимальная или пиковая линейная амплитуда колебаний звуковой катушки динамика :7,5 Xlim, мм - Максимальный механический предел колебаний звуковой катушки динамика :52 мм Sd, см² - Площадь рабочей поверхности диффузора :880 см² EtaZero, ƞ, % - Продуктивность динамика в открытом пространстве :4,77 Ну и самый простой расчет, гантся за 30Гц и ниже в сабе нет смысла, просто воздух ганять будет, звука на такой частоте в спектре немного, в БП вылет катушки с керна небольшой но есть, поэтому на усь обязательно сабсоник. С твоей добротностью ящик будет оооочень большой.