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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5929|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32F103驅(qū)動(dòng)led閃爍程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
每隔一段時(shí)間閃爍 本例程PB9閃爍


單片機(jī)源程序如下:

  1. /******************************************************************************8
  2. 實(shí)驗(yàn)現(xiàn)象:        每隔一段時(shí)間閃爍

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

  4. #include "stm32f10x_lib.h"

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

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


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

  20.   RCC_Configuration(); //系統(tǒng)時(shí)鐘配置函數(shù)   

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

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

  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); //寫一個(gè)字?jǐn)?shù)據(jù)到PB口
  34.         Delay(0x8FFFFF); // 延時(shí)
  35.         GPIO_Write(GPIOB, 0x0000); //寫一個(gè)字?jǐn)?shù)據(jù)到PB口
  36.         Delay(0x8FFFFF); // 延時(shí)

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

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

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

  50.   if(HSEStartUpStatus == SUCCESS)   //外部高速時(shí)鐘已經(jīng)準(zhǔn)別好
  51.   {                                                                    
  52.     //開啟FLASH的預(yù)取功能
  53.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

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

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

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

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

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

  72.   //配置系統(tǒng)時(shí)鐘 = PLL時(shí)鐘
  73.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

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

  80. /*******************************************************************************
  81. *                             NVIC配置函數(shù)
  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. *                              延時(shí)函數(shù)
  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****/

復(fù)制代碼

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


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:473907 發(fā)表于 2019-8-30 16:13 | 只看該作者
你這個(gè)程序在 keil5 中報(bào)錯(cuò)~~~~
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美中文一区 | av网站在线看 | 国产精品一区一区三区 | 国产剧情一区二区三区 | 97国产精品视频人人做人人爱 | 久久九| 欧美视频三级 | 国产高清在线精品一区二区三区 | 中文字幕欧美日韩一区 | 久久久国产一区二区三区 | 黄色片av | av一级一片 | 亚洲欧美一区二区三区国产精品 | 久久久国产一区二区三区四区小说 | 国产精品亚洲欧美日韩一区在线 | 欧美日韩精品一区二区三区视频 | 日韩一区二区三区视频在线播放 | 欧美亚洲高清 | 欧美在线观看一区二区 | 日韩精品1区2区3区 成人黄页在线观看 | 国产欧美精品一区二区 | 在线成人av | 亚洲欧美日韩精品久久亚洲区 | 国产成人精品一区二区在线 | 日本高清视频在线播放 | 毛片一区二区三区 | 国产农村妇女毛片精品久久麻豆 | 久久婷婷av | 久久婷婷色 | 男人天堂色 | 日韩和的一区二在线 | 午夜天堂精品久久久久 | 欧美一级在线 | 欧美精品一区二区三区蜜桃视频 | 国产精品久久久久久久久久久久 | 日韩av在线一区 | 久久精品久久久久久 | 男女下面一进一出网站 | 天天干天天爱天天操 | 狠狠ri | 国产精品高潮呻吟久久久久 |