分享

stm32笔记:点亮一个led (精简版)

 心不留意外尘 2016-06-06

 http://xouou./blog/1871578

2013

仅包含启动文件 "STM32F10x.s"

 

C代码  收藏代码
  1. #define GPIOA_CRL    (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x00))  
  2. #define GPIOA_CRH    (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x04))  
  3. #define GPIOA_IDR    (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x08))  
  4. #define GPIOA_ODR    (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x0C))  
  5. #define RCC_APB2ENR  (*(volatile unsigned long *)(0x40000000+0x20000+0x1000+0x18))  
  6.   
  7. void delay(unsigned long i)   //超级不精确的软延时  
  8. {  
  9.     int j;  
  10.     while(i--)  
  11.     {  
  12.         for(j=0;j<1500;j++)  
  13.         {}            
  14.     }     
  15. }  
  16.         
  17. int main(void)  
  18. {                       
  19.     RCC_APB2ENR = 1<<2;        //打开PA时钟,默认启用内部8M时钟  
  20.     GPIOA_CRH &= 0XFFFFFFF0; //准备配置PA  
  21.     GPIOA_CRH |= 0X00000003; //PA8 推挽输出        
  22.     GPIOA_ODR |= 1<<8;       //PA8 输出高,即先关闭led  
  23.   
  24.     while(1)  
  25.     {   
  26.         GPIOA_ODR &= 0<<8;  
  27.         delay(3000);  
  28.         GPIOA_ODR |= 1<<8;  
  29.         delay(3000);  
  30.     }      
  31. }  

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多