Файл с полезностями.

Опубликовано в рубрике "Исходники", 04.10.2009.
Тэги: , , , , автор:

Во все свои контроллерные проекты я включаю файлик, в котором содержится куча разных дефайнов, полезных макросов и прочей лабуды. Предлагаю его и вам.

#define TRUE FALSE

 

Драйвер модуля tr24a или трансивера EM198810

Опубликовано в рубрике "Исходники", 02.10.2009.

TR24A – один из самых дешевых радиомодулей. Его выпускает фирма Spirit-On на основе микросхемы EM198810.

Основные характеристики модуля:

  • диапазон частот: 2400MHz…2482MHz
  • скорость данных: 1Mbps
  • Бюджет связи: 82dBm — 87dBm
  • диапазон напряжения питания: 2.5V…3.7V
  • ток потребления: в режиме передачи — 26mA, в режиме приёма — 25mA, в режиме сна — 3.5uA
  • дальность связи однотипных модулей: 50m…100m

Модуль имеет антенну на плате, что очень удобно. Не смотря на все достоинства, запустить трансивер – большая проблема из-за плохой документации. На TR24A я потратил довольно много времени и, надеюсь, мой опыт сможет вам пригодиться.tr24a

WTF Volatile?

Опубликовано в рубрике "Статьи", 01.10.2009.
Тэги: , , , , автор:

Если вы пишите прошивки для микроконтроллеров на C/C++, но наверняка встречались с ситуациями, когда:

  • Программа работает хорошо до тех пор, пока вы не включите оптимизацию
  • Программа работает хорошо пока запрещены прерывания
  • Драйвера аппаратуры прекрасно работают у ваших друзей/коллег, а у вас – глючат
  • В многозадачных приложениях задачи по отдельности работают хорошо, а если запустить их вместе – происходит что-то страшное.

bug

Все эти ситуации могут быть вызваны тем, что вы не используете ключевое слово volatile. Вы не одиноки, очень многие программисты не понимают зачем оно нужно.