STM32F103ZET6 单片机直接操控寄存器地址PB5小灯亮灭(内容附上我的代码),为什么不行啊?

int main(void)
{                     //操作GPIOB
    *(unsigned int*)0x40010C18 |=(1<<3);   //操作APB2ENR                  
    *(unsigned int*)0x40010C00 &=~(0x0F<<(4*5));  //操作CRL
    *(unsigned int*)0x40010C00 |=(0x03<<(4*5));    //操作CRL
    *(unsigned int*)0x40010C0C    &= ~(1<<5);       //操作ODR
*(unsigned int*)0x40010C0C    |=(0<<5);           //操作ODR
 while(1);
    
}

应该加个延时