Код
GPIOD->BSRR |= GPIO_BSRR_BS2; //Request -> 1
Delay(1);
GPIOD->BSRR |= GPIO_BSRR_BR2; //Request -> 0
while(!(GPIOD->IDR & GPIO_IDR_IDR3)) {} //ждать Ready
for(i=0; i<16; i++)
{
GPIOD->BSRR |= GPIO_BSRR_BS6; //Read -> 1
buf[i] = GPIO_ReadInputData(GPIOC);
GPIOD->BSRR |= GPIO_BSRR_BR6; //Read -> 0
}
while(1)
{
}
Когда программа запускается по сбросу, лог. анализатор показывает обмен сигналами между МК и внешним устройством.
Если я запускаю программу в отладчике, на строчке
while(!(GPIOD->IDR & GPIO_IDR_IDR3)) {} //ждать Ready
отладчик зависает. Объясните начинающему (стаж 4,5 мес), почему так происходит?