Корм для эмбеддера в картинках – пицца
Каждый настоящий брутальный мужик (а все эмбеддеры, без сомнения, такие) должен есть не менее брутальную пищу. В этой статья я покажу как такую пищу приготовить.
Работа с GPIO
В этой статье я бы хотел рассказать вам про разные способы работы с GPIO-ножками контроллера, показать
способ который я выбрал для себя и объяснить, почему именно его я использую.
Файл с полезностями.
Во все свои контроллерные проекты я включаю файлик, в котором содержится куча разных дефайнов, полезных макросов и прочей лабуды. Предлагаю его и вам.
#define TRUE FALSE
(more…)
Драйвер модуля tr24a или трансивера EM198810
TR24A – один из самых дешевых радиомодулей. Его выпускает фирма Spirit-On на основе микросхемы EM198810.
Основные характеристики модуля:
- диапазон частот: 2400MHz…2482MHz
- скорость данных: 1Mbps
- Бюджет связи: 82dBm — 87dBm
- диапазон напряжения питания: 2.5V…3.7V
- ток потребления: в режиме передачи — 26mA, в режиме приёма — 25mA, в режиме сна — 3.5uA
- дальность связи однотипных модулей: 50m…100m
Модуль имеет антенну на плате, что очень удобно. Не смотря на все достоинства, запустить трансивер – большая проблема из-за плохой документации. На TR24A я потратил довольно много времени и, надеюсь, мой опыт сможет вам пригодиться.
WTF Volatile?
Если вы пишите прошивки для микроконтроллеров на C/C++, но наверняка встречались с ситуациями, когда:
- Программа работает хорошо до тех пор, пока вы не включите оптимизацию
- Программа работает хорошо пока запрещены прерывания
- Драйвера аппаратуры прекрасно работают у ваших друзей/коллег, а у вас – глючат
- В многозадачных приложениях задачи по отдельности работают хорошо, а если запустить их вместе – происходит что-то страшное.
Все эти ситуации могут быть вызваны тем, что вы не используете ключевое слово volatile. Вы не одиноки, очень многие программисты не понимают зачем оно нужно.
(more…)