僅包含啟動文件 "STM32F10x.s"
- #define GPIOA_CRL (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x00))
- #define GPIOA_CRH (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x04))
- #define GPIOA_IDR (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x08))
- #define GPIOA_ODR (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x0C))
- #define RCC_APB2ENR (*(volatile unsigned long *)(0x40000000+0x20000+0x1000+0x18))
-
- void delay(unsigned long i) //超級不精確的軟延時
- {
- int j;
- while(i--)
- {
- for(j=0;j<1500;j++)
- {}
- }
- }
-
- int main(void)
- {
- RCC_APB2ENR = 1<<2; //打開PA時鐘,默認啟用內部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);
- }
- }
復制代碼
|