僅包含啟動文件 "STM32F10x.s"
C代碼
#defineGPIOA_CRL(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800+0x00))
#defineGPIOA_CRH(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800+0x04))
#defineGPIOA_IDR(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800+0x08))
#defineGPIOA_ODR(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800+0x0C))
#defineRCC_APB2ENR(*(volatileunsignedlong*)(0x40000000+0x20000+0x1000+0x18))
voiddelay(unsignedlongi)//超級不精確的軟延時
{
intj;
while(i--)
{
for(j=0;j<1500;j++)
{}
}
}
intmain(void)
{
RCC_APB2ENR=1<<2;//打開PA時鐘,默認啟用內(nèi)部8M時鐘
GPIOA_CRH&=0XFFFFFFF0;//準備配置PA
GPIOA_CRH|=0X00000003;//PA8推挽輸出
GPIOA_ODR|=1<<8;//PA8輸出高,即先關閉led
while(1)
{
GPIOA_ODR&=0<<8;
delay(3000);
GPIOA_ODR|=1<<8;
delay(3000);
}
}