work.h

В этом файле располагаются константы необходимые нам для упрощения написания кода.

Расположение основных элементов доступных нам без специальных блоков:

Как видно из приложенной фотографии(это можно видеть также и на реальной плате), в нашем распряжении 4 светодиода - LD3-LD6, и одна кнопка B1. Обратившись к user-manual для платы(который расположен также на этой странице), можно увидеть что светодиоды привязаны к линиям:

  • LD3 - PD13
  • LD4 - PD12
  • LD5 - PD14
  • LD6 - PD15

А кнопка к линии PA0.

Чтобы не нагружать свой мозг запоминанием ненужных числовых констант сделаем символьные:

/* defines */
/** define led port */
#define LED_PORT GPIOD
/** define led pins */
#define GREEN_LED (1 << 12)
#define ORANGE_LED (1 << 13)
#define RED_LED (1 << 14)
#define BLUE_LED (1 << 15)
#define ALL_LEDS (GREEN_LED | ORANGE_LED | RED_LED | BLUE_LED)
/** define button port */
#define BUT_PORT GPIOA
/** define button pins */
#define BUT1 1