Продам в хорошие руки пару BLE112
Продано! *Стучит молоточком по столу*
Пара породистых BLE-модулей ищет своего нового хозяина.
Я их купил для одного заказа, а потом заказчик слился. Каждый раз когда я вижу их в куче хлама, вспоминаю, что вместе с заказчиком слились многие тыщи денег, и мне становится грустно.
Читать дальше
Пара породистых BLE-модулей ищет своего нового хозяина.
Я их купил для одного заказа, а потом заказчик слился. Каждый раз когда я вижу их в куче хлама, вспоминаю, что вместе с заказчиком слились многие тыщи денег, и мне становится грустно.
Читать дальше
Сиськи!
Проголосовало: 167 | Воздержалось: 26
А теперь, когда вы обратили внимание:
Я недавно нашел адский учебник по ардуино (в твердой обложке!), и понял что все хуже чем казалось. Отсюда опрос.
8L-Курс, Часть 5 - Таймеры: начало
← Часть 4 — Тактирование Содержание Часть 6 — Таймеры, внешние каналы →
Таймеры — один из самых важных элементов МК. Ни одна более-менее сложная программа не обходится без них. Все, что так или иначе связано с временными интервалами или подсчетом каких-нибудь событий, реализуется на таймерах.
В STM8L есть несколько таймеров разной сложности. Их можно поделить на три группы:
TIM1 — Это самый сложный и функциональный таймер. 16и разрядный счетчик (максимальное значение — 65535), предделитель, принимающий любые значения от 1 до 65536. Три внешних канала с комплементарными выводами для каждого… и прочие плюшки.
TIM2, TIM3, TIM5(последнего в нашем МК нет) — Чуть по-проще. Внешних каналов всего два. Делитель принимает уже не любое значение, а только степени двойки в диапазоне от 1 до 128. Счетчик по-прежнему 16и разрядный.
TIM4 — Самый простой. 8и разрядный счетчик, делитель — (тоже степени двойки) от 1 до 32768. Внешних каналов нету.
Вот сводная табличка из reference manual, которая рассказывает о характеристиках всех таймеров:

Начнем с TIM1. Он конечно сложнее, чем все остальные, но зато после него работа с другими таймерами не будет вызывать непоняток.
Читать дальше
Таймеры — один из самых важных элементов МК. Ни одна более-менее сложная программа не обходится без них. Все, что так или иначе связано с временными интервалами или подсчетом каких-нибудь событий, реализуется на таймерах.
В STM8L есть несколько таймеров разной сложности. Их можно поделить на три группы:
TIM1 — Это самый сложный и функциональный таймер. 16и разрядный счетчик (максимальное значение — 65535), предделитель, принимающий любые значения от 1 до 65536. Три внешних канала с комплементарными выводами для каждого… и прочие плюшки.
TIM2, TIM3, TIM5(последнего в нашем МК нет) — Чуть по-проще. Внешних каналов всего два. Делитель принимает уже не любое значение, а только степени двойки в диапазоне от 1 до 128. Счетчик по-прежнему 16и разрядный.
TIM4 — Самый простой. 8и разрядный счетчик, делитель — (тоже степени двойки) от 1 до 32768. Внешних каналов нету.
Вот сводная табличка из reference manual, которая рассказывает о характеристиках всех таймеров:

Начнем с TIM1. Он конечно сложнее, чем все остальные, но зато после него работа с другими таймерами не будет вызывать непоняток.
Читать дальше
Почта России, заграничные посылки и отчество (расслабьтесь, не будет)
Почта России неожиданно серьезно осложнила и без того нелегкую жизнь получателем международных обьявлений. Оказывается, с февраля на всех без исключения почтовых отправлениях, получаемых россиянами, должно присутствовать полное ФИО, включая отчество. Проще говоря — если в паспорте у вас есть отчество, то и на посылке оно должно присутствовать, иначе получить его вы не сможете.
Такая практика уже около года действует для отправлений, отправляемых внутри страны — без указания полного ФИО отправление не принимали к пересылке, но сейчас такие правила стали действовать и в отношении международных малых пакетов.

Украдено у BoxOverview
habrahabr.ru/company/boxowerview/blog/171093/
UPD
Такая практика уже около года действует для отправлений, отправляемых внутри страны — без указания полного ФИО отправление не принимали к пересылке, но сейчас такие правила стали действовать и в отношении международных малых пакетов.

Украдено у BoxOverview
habrahabr.ru/company/boxowerview/blog/171093/
UPD

8L-Курс, Часть 4 - Тактирование
← Часть 3 — Прерывания Содержание Часть 5 — Таймеры, начало →
Раньше мы как-то не задумывались над тем, на какой частоте работает МК и от чего тактируется — работает и славно. Задержки выбирали на глаз, не зная о тактовой частоте. Пора положить этому конец и разобраться с организацией тактирования в STM8.
Читать дальше
Раньше мы как-то не задумывались над тем, на какой частоте работает МК и от чего тактируется — работает и славно. Задержки выбирали на глаз, не зная о тактовой частоте. Пора положить этому конец и разобраться с организацией тактирования в STM8.
Читать дальше
Пруф оф концепт - прием и передача ИК сигнала одним светодиодом
Just for fun...
Решил сделать девайс, записывающий сигналы с ПДУ (от ТВ, DVD, кофеварок… :)), а затем воспроизводящий их. Вообще ничего необычного в этом нету, но возможно кому-то понравится решение: устройство состоит из МК (STM8L), резистора и ИК-диода… ну и питание еще :) А никаких дополнительных фильтров и усилителей нету.

Сия заметка исключительно «proof of concept» и код который я к ней прицепил не умеет ничего кроме записи и воспроизведения одной команды. Но функционал легко можно расширить.
Читать дальше
Решил сделать девайс, записывающий сигналы с ПДУ (от ТВ, DVD, кофеварок… :)), а затем воспроизводящий их. Вообще ничего необычного в этом нету, но возможно кому-то понравится решение: устройство состоит из МК (STM8L), резистора и ИК-диода… ну и питание еще :) А никаких дополнительных фильтров и усилителей нету.

Сия заметка исключительно «proof of concept» и код который я к ней прицепил не умеет ничего кроме записи и воспроизведения одной команды. Но функционал легко можно расширить.
Читать дальше
Эмулятор DS18b20 на ATTiny2313
Мне несколько раз приходилось делать устройства, которые должны были так или иначе реагировать на изменение температуры (а не просто отображать), и пару раз я нарывался на ошибки уже при работе устройства, потому что не достаточно хорошо протестировал работу с температурой при отладке. Поэтому, когда oss попросил меня изобразить волшебную коробочку с кнопками и дисплеем, которая прикидывалась бы градусником, идея пришлась мне по нраву.
Коробочка снабжена индикатором на три разряда, который показывает установленную температуру, двумя кнопками для установки нужного значения и портом 1-wire. Температуру можно выставлять в диапазоне от -55 до +99 градусов. Внутре у ней ATTiny2313.
Так-как задачка полной эмуляции всех фич градусника передо мной не стояла, коробочка обделена многими крутыми штуками. Проще сказать, что она умеет:
— Команду пропуска адреса (Skip ROM)
— Команду чтения адреса (Read ROM)
— … сравнения адреса (Match ROM)
— Чтение памяти (той, где температура)
Иначе говоря, эмулятор покрывает базовый функционал датчика. А вот работать с порогами температуры, командой поиска (Search ROM) и сохранением настроек, он не умеет.
Серийный номер (он-же адрес 1-wire) выставляется при прошивке, и без программатора сменить его нельзя. Это конечно большой минус, но для устройств, в которых всего один термометр, адрес не важен.
Исходники (AVR Studio 4 + WinAVR)
Схема
А под катом, небольшой спич о том, как это работает
Читать дальше
Коробочка снабжена индикатором на три разряда, который показывает установленную температуру, двумя кнопками для установки нужного значения и портом 1-wire. Температуру можно выставлять в диапазоне от -55 до +99 градусов. Внутре у ней ATTiny2313.
Так-как задачка полной эмуляции всех фич градусника передо мной не стояла, коробочка обделена многими крутыми штуками. Проще сказать, что она умеет:
— Команду пропуска адреса (Skip ROM)
— Команду чтения адреса (Read ROM)
— … сравнения адреса (Match ROM)
— Чтение памяти (той, где температура)
Иначе говоря, эмулятор покрывает базовый функционал датчика. А вот работать с порогами температуры, командой поиска (Search ROM) и сохранением настроек, он не умеет.
Серийный номер (он-же адрес 1-wire) выставляется при прошивке, и без программатора сменить его нельзя. Это конечно большой минус, но для устройств, в которых всего один термометр, адрес не важен.
Исходники (AVR Studio 4 + WinAVR)
Схема
А под катом, небольшой спич о том, как это работает
Читать дальше
Интересный баг с AVRDUDE+FTDI+PB2
Делал недавно одну штуку на ATTiny2313 и нарвался на занятный баг
Вкратце, дело выглядит так:
По ссылке мой серый уютный бложек с более подробным описанием и фоткой творческого беспорядка на рабочем месте :)
P.S. Да, мне лень перепостить текст сюда
P.P.S. Топик-ссылка — преунылейшая вещь. Как им вообще пользоваться можно? DIHALT включи хоть теги и нормальное форматирование там…
Вкратце, дело выглядит так:
При прошивке AVR через PINBOARD2+AVRDUDE (программатор 2ftbb) в буфер FT2232 может попасть лишний байт, который вызовет сдвиг всего остального массива и неправильное чтение данных — короче, работать нихера не будет. Такое несчастье случается, если за 7 миллисекунд (плюс-минус километр) до фактического начала прошивки (сброса МК) линия MOSI (которая соединена с пином RX на FT2232) находится в низком уровне. При переключении из BitBang режима в UART FT2232 заглатывает байт 0x00.
По ссылке мой серый уютный бложек с более подробным описанием и фоткой творческого беспорядка на рабочем месте :)
P.S. Да, мне лень перепостить текст сюда
P.P.S. Топик-ссылка — преунылейшая вещь. Как им вообще пользоваться можно? DIHALT включи хоть теги и нормальное форматирование там…
8L-Курс, Часть 3 - Прерывания, EXTI
← Часть 2 — GPIO Содержание Часть 4 — Тактирование →
Мы уже умеем работать с GPIO. Выставлять нужные уровни и читать состояния ножек, настроенных на вход. Но что, если нужно не просто прочитать состояние ножки, а быстро отреагировать на смену уровня? А если таких ножек несколько? Тут нам на помощь приходит система внешних прерываний — EXTI (EXTernal Interrupts). Она довольно гибко настраивается и позволяет получить прерывание с любой ножки МК, что дико удобно — не нужно подстраивать разводку платы под пару специальных ножек INT, как это было в большинстве AVR.
Читать дальше
Мы уже умеем работать с GPIO. Выставлять нужные уровни и читать состояния ножек, настроенных на вход. Но что, если нужно не просто прочитать состояние ножки, а быстро отреагировать на смену уровня? А если таких ножек несколько? Тут нам на помощь приходит система внешних прерываний — EXTI (EXTernal Interrupts). Она довольно гибко настраивается и позволяет получить прерывание с любой ножки МК, что дико удобно — не нужно подстраивать разводку платы под пару специальных ножек INT, как это было в большинстве AVR.
Читать дальше
8L-Курс, Часть 2 - GPIO
← Часть 1 — Hello светодиод! Содержание Часть 3 — Прерывания →
В прошлой части мы запустили мигалку светодиодом. Теперь пришла пора разобраться с тем, как она работает и как устроен модуль GPIO в STM8.

Читать дальше
В прошлой части мы запустили мигалку светодиодом. Теперь пришла пора разобраться с тем, как она работает и как устроен модуль GPIO в STM8.

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