koyodza (04.10.2013 22:38, просмотров: 79) ответил buslik.be на Как это можно сдедать красивее?
если это М3, а не М0, то быстрее всего будет работать примерно такой вариант и его производные. При том обращение к порту будет атомарным, чего нет в Вашем варианте
typedef union tagUN32
{
DWORD dw;
WORD w[2];
BYTE b[4];
}
UN32;
uint8_t command = 0x55;
UN32 x = {0};
x.b[2] = ~command;
x.b[0] = command;
GPIOA->BSRR = x.dw;
или такой
uint8_t command = 0x55;
GPIOA->BSRR = (uint32_t)command | (((uint32_t)(uint8_t)(~command))<<16);