Страницы

пятница, 8 ноября 2013 г.

Обращение к GPIO

Ко многим ресурсам STM32 можно обратиться как к слову (32бит), полуслову (16бит) и как к байту (8бит). Например, так:

#define GPIOB_Low             (*(__IO uint8_t *)((uint32_t)&(GPIOB->ODR)))
#define GPIOB_High            (*(__IO uint8_t *)((uint32_t)&(GPIOB->ODR) + 1))

что позволяет получить доступ к младшему байту порта, не затрагивая старший, и наоборот. Доступно как для чтения, так и для записи. На стандартных методах обращения к порту это никак не отражается.

Например запись

#define LCD_DATA             (*(__IO uint8_t *)((uint32_t)&(GPIOB->ODR)))
LCD_DATA = 0xA5;

позволяет очень просто оперировать шиной LCD 8бит, подключённой к PB0-PB7..

Комментариев нет:

Отправить комментарий

ваше мнение...