Файл с полезностями.
Во все свои контроллерные проекты я включаю файлик, в котором содержится куча разных дефайнов, полезных макросов и прочей лабуды. Предлагаю его и вам.
#define TRUE FALSE
Драйвер модуля 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. Вы не одиноки, очень многие программисты не понимают зачем оно нужно.