» » Программирование микроконтроллеров

 

К вопросу о TI

Автор: admin от 15-05-2019, 16:10, посмотрело: 27

«Сейчас я покажу вам портрет… Хм… Я предупреждаю вас, что это именно портрет… Во всяком случае, прошу отнестись к нему, как к портрету...



В данном посте пойдет речь о разработке и отладке программ для МК СС1350 в рекомендованной производителем среде разработки CCS. Будут затронуты достоинства (а они есть) и недостатки (а как же без них) вышеупомянутых продуктов. В тексте не будет скриншотов, призванных показать (обведенное кружочком) расположение иконки компиляции в интегрированной среде программирования или выбора файла в директории. Признавая принципиальную возможность статей в подобном стиле, я постараюсь сосредоточиться на концептуальных моментах в надежде, что мой читатель сам сможет разобраться в деталях.



Целью данного опуса, помимо передачи полученного опыта, является попытка возбудить здоровую зависть у отечественных производителей МК, являющихся прямыми конкурентами TI (»на территории страны, где мы с Вами и процветаем") — задача откровенно неблагодарная, но говорят, что капля камень точит.

Категория: Программирование

 

К вопросу о преобразованиях и прочих операциях

Автор: admin от 8-02-2019, 18:15, посмотрело: 58

Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем…

Алиса- кукла: Чего?

Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а то сами еще превратитесь преждевременно в бабочку какую-нибудь.



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



Часть первая — постановка вопроса



Формулируем задачу — нам нужно вывести на консоль (превратить в символьное представление) число с плавающей точкой, не используя опции печати, именно для этой цели предназначенные. Почему мы хотим это сделать самостоятельно —




  • использование формата %f влечет за собой подключение библиотеки для работы с плавающей точкой и расширенного варианта функции prntf (вернее, делает невозможным использование ее усеченного варианта), что приводит к существенному увеличению размера исполняемого модуля,

  • стандартное решение требует значительных временных затрат (оно всегда работает с числом двойной точности), что может быть неприемлемым в данной конкретной ситуации,

  • ну и (last, but not least), это просто интересно.
  • Категория: Программирование

     

    Умная автоматическая кормушка для питомца на базе Arduino – ШАГ 1

    Автор: admin от 8-08-2017, 11:35, посмотрело: 850

    В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.



    Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).



    Итак, начнем с концепции и целей:




  • Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)

  • Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)

  • Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)



  • На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.

    ->

    Категория: Программирование

     

    CDC+MSC USB Composite Device на STM32 HAL

    Автор: admin от 7-08-2017, 01:35, посмотрело: 890

    CDC+MSC USB Composite Device на STM32 HAL



    Мне хотелось бы верить, что хотя бы половина читателей может расшифровать хотя бы половину названия статьи :) Кто не в курсе — поясню. Мое устройство должно реализовывать сразу две USB функции:




    • Mass Storage Device (он же Mass Storage Class — MSC). Я хочу, чтобы мой девайс прикидывался обычной флешкой и отдавал файлики с данными, которые лежат на SD карте.

    • Другая функция это виртуальный COM порт (он же в терминологии USB называется Communication Device Class — CDC). Через этот канал у меня идет всякий дебажный вывод, который удобно смотреть обычным терминалом.



    В большинстве примеров по работе с USB реализуется только один тип устройства — флешка, мышка, кастомное HID устройство или виртуальный COM порт. А вот найти вменяемое объяснение как реализовать хотя бы две функции одновременно оказалось не так просто. В своей статье я хотел бы восполнить этот пробел.



    Я буду описывать создание композитного USB устройства на базе микроконтроллера STM32, но сам подход будет также применим и для других микроконтроллеров. В статье я детально разберу каждый из классов по отдельности, так и принцип построения композитных устройств. Но обо все по порядку.



    Итак, поехали!
    ->

    Категория: Программирование, Системное администрирование

     

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

    Автор: admin от 27-07-2017, 16:05, посмотрело: 450

    Предисловие

    Около года назад я описал в статье систему для полива моего участка — и теперь опишу дальнейшее её развитие.Год — достаточно большое время, и его удалось потратить с пользой. С удовольствием опишу и расскажу вам, что же у меня получилось.


    ->

    Категория: Программирование, iOS

     

    Поднимаем Linux на MIPSfpga и ПЛИС Altera

    Автор: admin от 23-07-2017, 10:15, посмотрело: 330

    Поднимаем Linux на MIPSfpga и ПЛИС Altera



    Предоставленная Imagination Technologies документация на MIPSfpga очень хорошо и подробно описывает развертывание Linux. Но используемая при этом система на кристалле построена с помощью Xilinx-специфических периферийных модулей. Потому ее повторение на отладочной плате с ПЛИС Altera в исходном виде представляется невозможным. Решением является система на кристалле MIPSfpga-plus с ее платформонезависимой периферией. О том, как запустить на ней Linux, читайте в этой статье.

    ->

    Категория: Программирование, Системное администрирование

     

    Текущая активность вокруг MIPSfpga и не только

    Автор: admin от 20-07-2017, 10:20, посмотрело: 275

    Текущая активность вокруг MIPSfpga и не только



    Есть несколько событий и тем, которыми хотелось бы поделиться с сообществом. По-хорошему, по каждой можно писать отдельную статью, но общий дефицит времени заставляет немного схалтурить. Наши сегодняшние темы:




    • релиз MIPSfpga 2.0;

    • процессор schoolMIPS и Летняя школа юных программистов в Новосибирске;

    • школа-семинар по цифровому дизайну и компьютерной архитектуре в Томске;

    • запуск ванильного ядра Linux на MIPSfpga-plus;

    • поддержка АЦП Altera MAX10 в MIPSfpga-plus;

    • логотип MIPSfpga-plus.



    Если тематика MIPSfpga-plus вам не безразлична, то в конце есть небольшой опрос на тему чего мне писать (или не писать) следующую статью. Ваш выбор поможет мне сориентироваться и расставить приоритеты. Welcome!

    ->

    Категория: Программирование, Системное администрирование

     

    STM32 + PPP (GSM) + LwIP

    Автор: admin от 10-07-2017, 12:35, посмотрело: 492

    Большинство GSM модулей работают по интерфейсу UART, посредством AT-команд. Но для серьезных проектов, использование AT команд несет определенные трудности:

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

    Нужно понимать, что с результатом выполнения команды, в буфер может попасть URC-код от входящего звонка, SMS, принятые данные и пр. Входной буфер с принятыми строками, приходится разбирать опираясь лишь на символы переносов и «эхо» команды, а сами команды зачастую сильно отличаются форматом. По этим причинам, использование AT вносит дополнительную задержку, алгоритмически ее устранить практически невозможно, ведь причина находится в самом модуле и несовершенстве его встроенного ПО

    В этом примере я использовал SIM800C. Посмотрев спецификацию и убедившись в поддержке PPP, стал изучать способы реализации. Для использования PPP, модуль переключается несколькими настроечными командами, после этого режим AT становится недоступным и фактически идет общение с вышкой оператора напрямую, минуя внутренний стек модуля, что позволяет значительно ускорить обмен данными.

    Пример PPP-пакета:

    STM32 + PPP (GSM) + LwIP

    Категория: Программирование, Веб-разработка

     

    ПЛК от производителей Овен, Segnetics и Schneider Electric для HVAC

    Автор: admin от 10-07-2017, 08:20, посмотрело: 467

    В этой статье краткий обзор программируемых контроллеров для HVAC (отопление, вентиляция и кондиционирование) от 3х производителей:




    • ОВЕН ПЛК63/73

    • Segnetics SMH2g и Pixel

    • Schneider Electric M171/172



    Исходя из личного опыта их использования.




    ->

    Категория: Программирование

     

    Цифровой датчик температуры TSic: адреса, пароли, явки

    Автор: admin от 3-07-2017, 13:00, посмотрело: 433

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



    Цифровой датчик температуры TSic: адреса, пароли, явкиГерой сегодняшней статьи, на первый взгляд, не представляет собой ничего особенного — мало ли мы видели цифровых датчиков температуры. Однако у серии TSic есть два необычных свойства: действительно высокая точность (до ±0.07°C у старшей модели) и малоизвестный однопроводной интерфейс ZACwire.



    Под катом подробно описываем номенклатуру стандартных датчиков TSic и кастомные решения, разбираемся в особенностях коммуникационного протокола, смотрим примеры программ для МК. Словом, делаем всё чтобы убедить уважаемого читателя в том что датчики TSic стоят своих денег.
    ->

    Категория: Программирование, Веб-разработка

     
    Назад Вперед