Профиль пользователя заблокирован сроком с 30 декабря 2015 г. и навсегда по причине: Подозрение на взлом аккаунта
  • Как написать HAL драйвер для МК?

    @Eddy_Em
    > не прибегая к глубокому изучения даташита
    И это очень плохо. Напоминает мартышечную ардуйню.
  • Как написать HAL драйвер для МК?

    @Eddy_Em
    hilden: здесь, например, я отчасти пытался разделить логику и железо. Но не очень-то получилось.
    Вообще же, чем выше уровень абстракции, тем больше получается лишнего кода. В итоге прошивки, выполняющие одно и то же, но написанные: одна без абстракций, а другая с абстракциями — могут в разы различаться по размеру и тормозам!
    У STM есть попытка абстракции: вместо шлака под названием SPL они выдумали другой шлак — HAL. Получилось лютое дерьмо.
  • Как написать HAL драйвер для МК?

    @Eddy_Em
    hilden: если МК сильно разрозненные, то универсальности не получится. Но можно основной функционал попытаться вынести в отдельные файлы так, чтобы внутри не было ничего аппаратнозависимого (все инициализации, обращения к портам-ногам-прерываниям делать на макросах, а уже отдельно определить макросы для этих целей). В этом случае заодно и портирование на тот же МК, но с другим расположением ног в схеме будет проще.
  • Как написать HAL драйвер для МК?

    @Eddy_Em
    И каким боком это к HAL? А особенно "драйвер" при чем здесь? "Драйвер" — это некая железяка, позволяющая работать с другой железякой. HAL — это некая прослойка, позволяющая в юзерспейсе работать с железяками, не заботясь об особенностях конкретной архитектуры (скажем, библиотека opencm3 позволяет абстрагироваться от типа микроконтроллера, в итоге код получается переносимым и работает хоть на STM32F1, хоть на F4, хоть еще на чем).

    А уж термометр нужно просто взять, да написать. Кстати, можно в мою ЖЖшку позаглядывать, я как раз планирую в течение ближайших пары недель дополнить свой сборник переделок "вольтметров" на STM8 термометром.
    Динамическая индикация элементарна, полчаса от силы надо потратить на реализацию для конкретной схемы.
    Работа с 18x20 посложней, но тоже с даташитом за полдня можно родить говнокод, а за недельку — качественный код… Если же скачать готовое, то за полчасика вообще можно слепить тяп-ляп-прошивку.
  • Как написать HAL драйвер для МК?

    @Eddy_Em
    hilden: как минимум, вкратце описать, что нужно.
  • POSIX threads + usleep - почему не работает?

    @Eddy_Em
    Сигналы точно никакие не посылаются процессу?
  • Как написать HAL драйвер для МК?

    @Eddy_Em
    С таким абстрактным вопросом ответы тоже будут в духе сферического коня в вакууме.
  • Как получить координаты объекта в помещении?

    @Eddy_Em
    Александр: кстати, я вот подумал: ведь не нужен третий стационарный передатчик. Исключить неоднозначность можно, если два передатчика поставить около одной длинной стены. Точность определения координат в дальних углах несколько снизится, зато упростится методика пересчета задержек в декартовы координаты.
    Можно взять за основу подобный модуль и перепаять его под свои нужды.
  • Как получить координаты объекта в помещении?

    @Eddy_Em
    Александр: нет, ультразвук в том диапазоне, в котором УЗ-датчики работают, совершенно безвреден.
    Радиопередатчики можно использовать, но т.к. свет проходит 1м за 3.3нс, добиться "на коленке" вменяемой точности не получится, измеряя задержки. Другое дело — интерференция, но в этом случае позиционирование будет относительным.

    Для реализации переносного варианта самым простым решением будет как раз ультразвук: ставим в наиболее удаленные углы две пищалки, третью ставим в один из оставшихся углов (без третьей будет неопределенность положения). На самом объекте пищалка должна быть всенаправленной (либо несколько пищалок с узкой диаграммой, либо одна, смотрящая вверх, но с конусным отражателем над ней). Поочередно "пингуем" объект каждой из пищалок, определяем расстояние, затем выдаем координаты.

    Кстати, можно все автоматизировать: в самом начале неподвижные детекторы пингуют друг друга, определяя расстояния между собой, а затем уже пингуют объект. Тогда на выходе будут нормальные декартовы координаты.
  • Почему до сих пор не распространены устройства блокировки телерекламы?

    @Eddy_Em
    Если уж так хочется смотреть трансляции, то просто начинайте смотреть на 40-50 минут позже начала передачи. Даже самые дешевые спутниковые конвертеры умеют писать на флешку → всю рекламу можно будет проматывать.
  • Как правильно написать программу для Arduino?

    @Eddy_Em
    Евгений Куманин: тогда уж unsigned char + выполняться это будет дольше.
  • Как удалить linux?

    @Eddy_Em
    Поправил вопрос: тег [linux] не имеет никакого отношения к вопросу, ставь тег [мастдайка].
  • Объясните на пальцах - как работать с setitimer?

    @Eddy_Em
    kodwi: В мане русским по-белому написано:
    The function setitimer() sets the specified timer to the value in new_value. If old_value is non-NULL, the old value of the timer is stored there. 
    Timers decrement from it_value to zero, generate a signal, and reset to it_interval. A timer which is set to zero (it_value is zero or the timer expires and it_interval is zero) stops.

    И что здесь непонятного? Если it_interval установить в нуль, таймер отработает только 1 раз, если нет, то будет в цикле работать (тогда чтобы его сбросить, нужно будет вызывать эту функцию с it_value = 0).
  • Какие есть типы данных c++?

    @Eddy_Em
    Алексей: В случае с pastebin еще проще: пишем в консольке pastebinit файл и сразу ссылку получаем. Крайне удобно, не нужно за мышей тянуться и лишних действий выполнять.
  • Какие есть типы данных c++?

    @Eddy_Em
    Алексей: я про светодиодные экранчики, которые по FSMC или SPI. Готового ничего нет, кроме жуткого индусокода.
    А кодом если хотите обмениваться, то на pastebin какой-нибудь выкладывайте, а не на непонятные ресурсы. Библиотека для wifi с гитхаба вроде выглядит прилично, но С++ ☹
  • Что вы используете под Linux, когда пишете сайты?

    @Eddy_Em
    Константин Китманов: ну, тогда вообще все просто!
    Мое первое знакомство с nginx было много лет назад, когда он был еще глючным.
    А вообще, если бы не необходимость аутентификации пользователя, я бы совсем мог без веб-сервера обойтись, потому как реализовать шифрование введенной пары логин-пароль через вебсокеты — тот еще геморрой! Лучше уж "родной" SSL использовать.
  • Какие есть типы данных c++?

    @Eddy_Em
    Алексей: Я не понял, в чем проблема несчастные AT-команды реализовать по-человечески?
    Это ж не с экранчиком работать, где кода жуть как много! (кстати, я все собираюсь с мыслями, что пора бы к своим самоделкам и экранчик пришпилить, а для этого надо написать библиотеку для работы с экранчиком + шрифты более-менее приличные найти или сгенерировать fontforge'м; готовых библиотек, к сожалению, не существует: все, что я находил — шлак в стиле ардуйни, мне такое на STM32 ну никак не нужно).
  • Что вы используете под Linux, когда пишете сайты?

    @Eddy_Em
    Константин Китманов: формы здесь не при чем. Я про динамику: или будете тыкать кнопочку submit каждый раз, чтобы обновить картинку (в случае с mjpeg это вообще замечательно)?
    А апач удобен тем, что у него, например, есть SSI. А еще в апаче проще с https. Но по большому счету, да, nginx за глаза обычно.
  • Как считывать числа с помощью sscanf до конца строки?

    @Eddy_Em
    IBM701: это что за извращение? Да и вообще, как можно миллион параметров командной строки передать? А если это внутри файла, то есть определенные соглашения, чтобы не допустить подобного бреда.
    Ну, да ладно, допустим, что погромист — индюк. И в чем проблема сделать буферизованный ввод? Считываем кусками по N байт. Преобразуем очередное считанное число в double, а остаток (после eptr) memmove'ом перекидываем в начало буфера и дочитываем нужное количество байт, если остаток меньше заданного. Повторяем итерацию.
  • Как считывать числа с помощью sscanf до конца строки?

    @Eddy_Em
    IBM701: куда не поместиться? Что за чушь! Ну, возьмите буфер из 64 чисел. Сделали l = read(1, buf, 63); buf[l] = 0;, а потом double x = strtod(buf, &eptr); и проверили eptr.
    Никакой сложности, полный контроль и никаких глюков дурацкой scanf!