久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5990|回復: 1
打印 上一主題 下一主題
收起左側

STM32F103驅動led閃爍程序源碼

[復制鏈接]
跳轉到指定樓層
樓主
每隔一段時間閃爍 本例程PB9閃爍


單片機源程序如下:

  1. /******************************************************************************8
  2. 實驗現象:        每隔一段時間閃爍

  3. *******************************************************************************/

  4. #include "stm32f10x_lib.h"

  5. /******************************** 變量定義 ---------------------------------------------------------*/
  6. GPIO_InitTypeDef GPIO_InitStructure;
  7. ErrorStatus HSEStartUpStatus;

  8. /*********************************聲明函數 -----------------------------------------------*/
  9. void RCC_Configuration(void);
  10. void NVIC_Configuration(void);
  11. void Delay(vu32 nCount);


  12. /*******************************************************************************
  13.                                   主函數
  14. *******************************************************************************/
  15. int main(void)
  16. {
  17. #ifdef DEBUG
  18.   debug();
  19. #endif

  20.   RCC_Configuration(); //系統時鐘配置函數   

  21.   NVIC_Configuration();         //NVIC配置函數

  22.   //使能APB2總線外設時鐘                         
  23.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);//定義工作端口,目前使用的是A口和B口
  24.   GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);  //關閉調試 端口重新映射  使用仿真器調試時,不能用此語            

  25.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;  // 選擇所有腳                          
  26.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //配置成推挽式輸出
  27.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出模式下 I/O輸出速度 50M HZ
  28.   GPIO_Init(GPIOA, &GPIO_InitStructure);  //初始化PA口
  29.   GPIO_Init(GPIOB, &GPIO_InitStructure);  //初始化PB口                                                                                                                         
  30.                                                                                                                                                                                                                                
  31.   while (1)
  32.   {
  33.           GPIO_Write(GPIOB, 0xffff); //寫一個字數據到PB口
  34.         Delay(0x8FFFFF); // 延時
  35.         GPIO_Write(GPIOB, 0x0000); //寫一個字數據到PB口
  36.         Delay(0x8FFFFF); // 延時

  37.   }
  38. }
  39. /*******************************************************************************
  40. *                           配置RCC
  41. *******************************************************************************/
  42. void RCC_Configuration(void)
  43. {   
  44. //復位RCC外部設備寄存器到默認值
  45.   RCC_DeInit();

  46.   //打開外部高速晶振
  47.   RCC_HSEConfig(RCC_HSE_ON);

  48.    //等待外部高速時鐘準備好
  49.   HSEStartUpStatus = RCC_WaitForHSEStartUp();

  50.   if(HSEStartUpStatus == SUCCESS)   //外部高速時鐘已經準別好
  51.   {                                                                    
  52.     //開啟FLASH的預取功能
  53.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

  54.     //FLASH延遲2個周期
  55.     FLASH_SetLatency(FLASH_Latency_2);
  56.        
  57.   //配置AHB(HCLK)時鐘=SYSCLK
  58.     RCC_HCLKConfig(RCC_SYSCLK_Div1);  
  59.   
  60.    //配置APB2(PCLK2)鐘=AHB時鐘
  61.     RCC_PCLK2Config(RCC_HCLK_Div1);

  62.     //配置APB1(PCLK1)鐘=AHB 1/2時鐘
  63.     RCC_PCLK1Config(RCC_HCLK_Div2);

  64.      //配置PLL時鐘 == 外部高速晶體時鐘*9  PLLCLK = 8MHz * 9 = 72 MHz
  65.     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

  66.     //使能PLL時鐘
  67.     RCC_PLLCmd(ENABLE);

  68.    //等待PLL時鐘就緒
  69.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  70.     {
  71.     }

  72.   //配置系統時鐘 = PLL時鐘
  73.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  74.    //檢查PLL時鐘是否作為系統時鐘
  75.     while(RCC_GetSYSCLKSource() != 0x08)
  76.     {
  77.     }
  78.   }
  79. }

  80. /*******************************************************************************
  81. *                             NVIC配置函數
  82. *******************************************************************************/
  83. void NVIC_Configuration(void)
  84. {
  85. #ifdef  VECT_TAB_RAM  
  86.   /* Set the Vector Table base location at 0x20000000 */
  87.   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
  88. #else  /* VECT_TAB_FLASH  */
  89.   /* Set the Vector Table base location at 0x08000000 */
  90.   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);   
  91. #endif
  92. }

  93. /*******************************************************************************
  94. *                              延時函數
  95. *******************************************************************************/
  96. void Delay(vu32 nCount)
  97. {
  98.   for(; nCount != 0; nCount--);
  99. }

  100. #ifdef  DEBUG
  101. /*******************************************************************************
  102. * Function Name  : assert_failed
  103. * Description    : Reports the name of the source file and the source line number
  104. *                  where the assert_param error has occurred.
  105. * Input          : - file: pointer to the source file name
  106. *                  - line: assert_param error line source number
  107. * Output         : None
  108. * Return         : None
  109. *******************************************************************************/
  110. void assert_failed(u8* file, u32 line)
  111. {
  112.   /* User can add his own implementation to report the file name and line number,
  113.      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  114.   /* Infinite loop */
  115.   while (1)
  116.   {
  117.   }
  118. }
  119. #endif

  120. /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/

復制代碼

所有資料51hei提供下載:
LED燈閃爍.rar (225.62 KB, 下載次數: 46)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:473907 發表于 2019-8-30 16:13 | 只看該作者
你這個程序在 keil5 中報錯~~~~
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区四区五区 | 欧美乱码精品一区二区三区 | 久操国产 | 日韩欧美在线一区 | 天天草草草 | 国产小视频在线观看 | 婷婷五月色综合 | 中国一级特黄真人毛片免费观看 | www.久久久.com| 99精品视频免费观看 | 伊人二区 | www.yw193.com| 91n成人 | 国产精品18久久久 | 国产美女视频黄a视频免费 国产精品福利视频 | 亚洲国产一区二区三区在线观看 | 国产成人精品午夜视频免费 | 亚洲日韩欧美一区二区在线 | 日韩国产高清在线观看 | jizz亚洲人| 综合国产| 日本三级全黄三级三级三级口周 | 国产成人免费 | 特黄毛片| 久久9久 | 欧美性久久久 | 久久久国产精品 | 成人伊人 | 毛片黄| 婷婷久 | www.色综合 | 欧美久久国产精品 | 一区二区在线 | 日韩精品久久久久 | www日韩| 亚洲成人一区二区 | 欧美性网 | 欧洲免费视频 | 久青草影院 | 国产美女高潮 | 中国一级毛片免费 |