Выглядит как правильно, но, насколько я помню, stm32f4xx.h не имеет регистров BSRRH и BSRRL (по крайней мере, последних версий) с именем BSRR . Пожалуйста, попробуйте заменить последний ряд на:
GPIOD->ODR |= GPIO_ODR_OD15;
Если этот код будет работать, это означает, что вы установили неверное значение BSRRH или вам необходимо использовать регистр BSRRL.