Файл с полезностями.
Во все свои контроллерные проекты я включаю файлик, в котором содержится куча разных дефайнов, полезных макросов и прочей лабуды. Предлагаю его и вам.
#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 я потратил довольно много времени и, надеюсь, мой опыт сможет вам пригодиться.
DC-DC на MC34063
Этот калькулятор сделан специально чтобы облегчить создание импульсного преобразователя начинающим радиолюбителям. Калькулятор умеет рассчитывать повышающие, понижающие и инвертирующие преобразователи на широкодоступной микросхеме mc33063 (она-же mc34063)
Прерыватель для DRSSTC
Прерыватель нужен для успешного функционирования DRSSTC, это знает каждый школьник дошкольного возраста 🙂 Что требуется от прерывателя? Во-первых, это большая надежность выдержки "времени работы" (время, когда тесла набирает энергию) — если это время случайно превысит допустимое, либо сработает активный ограничитель тока, либо силовые транзисторы сгорят в ацком пламени. Во-вторых, это возможность получать разнообразные эффекты покруче чтобы на зависть всем буржуям. Вот все эти невероятные 2 пункта и были моей целью. Итак – начнем-с.
(more…)WTF Volatile?
Если вы пишите прошивки для микроконтроллеров на C/C++, но наверняка встречались с ситуациями, когда:
- Программа работает хорошо до тех пор, пока вы не включите оптимизацию
- Программа работает хорошо пока запрещены прерывания
- Драйвера аппаратуры прекрасно работают у ваших друзей/коллег, а у вас – глючат
- В многозадачных приложениях задачи по отдельности работают хорошо, а если запустить их вместе – происходит что-то страшное.
Все эти ситуации могут быть вызваны тем, что вы не используете ключевое слово volatile. Вы не одиноки, очень многие программисты не понимают зачем оно нужно.
(more…)