Еще раз о STM32 и DS18B20 (подправлено)

Решил подцепить DS18B20 к STM32 по двухпроводной шине. Задача несложная, благо и 1-wire уже не раз ковырял (первый раз лет 15 назад, еще на PIC, цеплял и ключи-идентификаторы и термометр), да и на STM32 тема сейчас избитая, примеров навалом. Прицепил термометр к известной плате STM32 Mini, и, хоть и не люблю копипастить, но все же взял готовую библиотеку от steel_ne из его статьи «Stm32 + 1-wire + DMA» и ее продолжения — мне понравилось это решение. Подправил чуть-чуть на свободный у меня USART3 и, после устранения ВСЕХ моих ошибок )), все заработало, за что автору большое спасибо.
К чему это я? А вот — главной моей ошибкой было то, что цеплял я термометр по двухпроводной схеме. И температура не измерялась, +85 градусов, хоть удавись… У меня термометры уже работают по двухпроводной схеме на AT91SAM7SE512 и раньше на PIC16F84 работали, поэтому вопрос для меня о схеме подключения особо не стоял, в даташиты я на эту тему давно не смотрел и схему автора вышеупомянутой статьи тоже глянул одним глазом. Посмотрел повнимательнее на схему в статье, а там термометр подключен по трем проводам. Подключил и я питание – работает. Проверил на Атмеле – но там несколько тех же DS18B20 на двух проводах стоят и подцеплены резистором 4,7 К к питанию, но правда там к 5 В. Ага, понятно, надо разбираться, ведь работает же оно на 5 вольтах… Вот тут-то и пригодилось свойство альтернативности выводов в STM32.


Читать дальше

CRC32: на STM32 как на компе или на компе как на STM32.

Все знают, что в STM32F1xx, STM32F2xx, STM32F4xx есть аппаратный блок CRC32 с полиномом 0x04C11DB7.
И он, в общем-то, работает. Но только контрольная сумма почему-то не совпадает с таковой, рассчитанной софтварно.
В гугле обычно 2 типа вопросов:
  1. Как хардварно посчитать на STM32 побайтовую CRC
  2. Как посчитать софтово CRC так, чтоб она совпала с хардовой на STM32
Причём, на первый вопрос ответ везде отрицательный. Так ли это? Попробуем разобраться.


Читать дальше

Запускаем scmRTOS для Cortex-M3 в среде KEIL uVision4

Что есть сий мануал? Это не инструкция по работе с scmRTOS или средой MDK-ARM. Документ представляет собой инструкцию по переделке порта Cortex-M3 для IAR EWARM в порт Cortex-M3 для Keil uVision4. К сожалению, у меня нет возможности разжевать каждый пункт (пишу ночью на вахте), поэтому данный мануал предназначен больше для тех людей, кто уже знаком с операционной системой реального времени scmRTOS и средой разработки Keil uVision4, и кто, так же как и я, столкнулся с проблемой отсутствия официального порта scmRTOS для кортексов под MDK-ARM. Так что, может, кому-то сие чтиво пригодится…

Читать дальше
  • +6
  • 29 августа 2013, 08:44
  • uRTOS
  • 2

Кросс-платформенный терминал

На написание сподвигло отсутствие вменяемых альтернатив с embedded-направленностью (работа на уровне байтов и т.д.) под Linux.



Читать дальше

Программный декодер MP3 на STM32F10x. Демопроект

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


Читать дальше

Измерение температуры с помощью NTC термистора

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

Поскольку у меня валялось несколько этих самых термисторов от отслуживших свое китайских термометров, то сразу подумал, почему бы их не использовать…
Поиски по интернету слегка охладили мой пыл, потому что теории, конечно, было много, а вот конкретной реализации гораздо меньше…


Картинка из вики насчет терморезистора и его характеристики.


Читать дальше

Еще один makefile

MakefileДоброго времени суток!
Сколько уже про makefile говорено и писано — и все равно хочется отчебучить что-нибудь свое! Видят мои глаза отсутствие идеала, а пальцы стремятся это дело исправить.
Так что внесу и я свои 5 центов в это дело — опишу я идеальный makefile!
P. S. Все найденные ошибки, реализованные пожелания и изменения я буду здесь выкладывать. Так что здесь будет всегда актуальное состояние. Ну… так я планирую…


Читать дальше
  • +3
  • 25 марта 2014, 14:57
  • PICC
  • 1

Code::Blocks 12.11 – настройка Wizard для работы с платами STM32F3Discovery и STM32F4Discovery


Признаться, «Code::Blocks» я пользую относительно недавно – с момента написания первого корявого приложения прошло чуть более двух лет.
Используя IAR для реализации своих изысканий в области микроконтроллеров, я неоднократно обращал внимание на некоторое неудобство редактора кода оной IDE. Быстродействие, автодополнение, поиск и навигация по коду, и т.д., и т.п. – все это, мягко говоря, было не на высшем уровне. Потому «творил» я довольно неудобным образом: редактировал код в «Code::Blocks» (ибо мил сердцу моему он и шибко люб), а компилировал и отлаживал – в «IAR».
Так продолжалось пару месяцев, пока однажды не пришло понимание того, что об удобстве инструмента следует позаботиться, ибо из-под тупого рубанка сто процентов вылезет колючий и занозистый Буратино со скверным характером.

Читать дальше