Найти в Дзене
NTP. "Почему у всех одинаковое время?"
NTP - Network Time Protocol (протокол сетевого времени) широко используется в Интернете для синхронизации счета часов. Технология позволяет автоматически синхронизировать часы посредством локальной сети или сети Интернет. Таким образом, используя NTP-сервер, можно обеспечить точным временем любой компьютер или другое устройство. А откуда же на сервере берется информация, она ведь на всех серверах должна быть одинакова!? NTP-серверы имеют иерархическую (уровневую) структуру, каждый уровень которой называется ярусом (stratum)...
1 год назад
Сторожевые таймеры в ESP8266
Основная функция сторожевого таймера заключается в том, чтобы при «затягивание» программы, для микроконтроллера это означает что произошло какое-то зависание, произвести его перезагрузку ЦП. Задача, вроде бы, весьма тривиальная, однако в микроконтроллерах ESP8266 данная функция, на мой взгляд, реализуется достаточно кривовато. ESP8266 имеет два сторожевых таймера, один аппаратный, второй – программный. По умолчанию сторожевой таймер включен, т.е. после подачи питания на микросхему он начинает отсчет, после того как он досчитает до заданного значения, происходит перезагрузка...
222 читали · 1 год назад
Утилиты для работы с ESP8266 / ESP32. Часть 1 - Esptool
Для работы с микроконтроллерами Espressif, производителем предоставляется пакет утилит, в который входят: esptool.py, espefuse.py и espsecure.py. В этой статье-заметке будет рассмотрена одна, наиболее важная, из них – esptool. esptool - независимая от платформы утилита с открытым исходным кодом, предназначенная для работы с flash-памятью в системах с микроконтроллерами Espressif. При помощи этой утилиты, решаются следующие задачи: - Чтение, запись, стирание и проверка двоичных данных, хранящихся во flash-памяти...
1600 читали · 1 год назад
Светодиодные светильники из дорогих комплектующих но с дешевой сборкой.
На этой недели передали мне неисправный светильник с целью диагностики причин и, по возможности, ремонта. Светильник для "офисного" освещения, какой-то нестандартной формы. По ощущениям гаражной сборки, далее, я думаю, и у читателя такое ощущение появится, хотя светильник собран и брендирован достаточно крупным отечественным производителем. В этой статье я не покажу внешнего вида этого произведения инженерного искусства и не буду называть контору которая за это собрала, т.к. моей целью не является...
1 год назад
Особенности подключения ESP8266
Сразу оговоримся. Рассматривать выводы самой микросхемы ESP8266 не к чему, т.к. к пользователю-любителю, каковыми большинство из нас и является, данное устройство попадает в виде модуля, имеющем в своем составе непосредственно чип-микроконтроллер, микросхему Flash-памяти и тактовый генератор, а также минимальный обвес пассивных компонентов. Поэтом далее будут рассматриваться выводы наиболее популярного модуля на базе микроконтроллера ESP8266 - ESP12-e. Более подробно о схеме и устройству модуля ESP12-e можно прочитать в документе под названием esp12e datasheet...
1 год назад
Программный таймер. Возможности SDK ESP8266
Для работы программного таймера ESP8266, понадобится 3 функции из SDK, это все что нужно - всего 3: os_timer_arm os_timer_disarm os_timer_setfn прототипы которых находятся в файле /ESP8266_NONOS_SDK/include/osapi.h Т.к. os_timer являются функциями программного таймера, выполнения обратного вызова может произойти с некоторой задержкой. Если в программе нужны точные тайминги, необходимо воспользоваться аппаратным таймером. 1. void os_timer_arm (os_timer_t *ptimer, uint32_t milliseconds, bool repeat_flag)...
1 год назад
Инициализация модуля шины данных I2C микроконтроллера STM32 на примере STM32F103
Данная реализация функции осуществляется на основе данных из rm0008 и es096. Тайминги заданные в примере рассчитаны для режима стандартной скорости (100кГц) при частоте тактирования шины 8МГц. void I2C1_Init (void) { //1 - Отключите периферийное устройство I2C, очистив бит PE в регистре I2Cx_CR1. I2C1->CR1 &= ~I2C_CR1_PE; //Отключение модуля //2 - Настройте входы/выходы SCL и SDA как выходы общего назначения с открытым стоком, высокий уровень (запишите 1 в GPIOx_ODR). GPIOB->CRL |= GPIO_CRL_MODE6_1 | GPIO_CRL_MODE7_1 | GPIO_CRL_CNF6_0 | GPIO_CRL_CNF7_0; //SCL and SDA - Open-Drain выходы общего назначения, макс...
103 читали · 1 год назад
Модификаторы (суффиксы) переменных U, L, F Описание применения данных модификаторов описано в MISRA-C:2004 (правило 10.6) тип константы можно явно указать в записи с помощью следующих суффиксов (модификаторов): U (или u) — unsigned (пример - 0x80U) L (или l) — long (пример 22L) F (или f) — float (пример 80.0F - обязательно наличие десятичной точки в записи) Их также можно комбинировать, например «UL» - чтобы обозначить длинную константу без знака. Модификатор «U» должен применяться ко всем беззнаковым константам.
2 года назад