娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月19日(星期一)

2018年05月19日 | STM32單片機(6) PWM輸出實驗

發布者:zonheny 來源: eefocus關鍵字:STM32  單片機  PWM輸出 手機看文章 掃描二維碼
隨時隨地手機看文章
  1. /******************************************************************************* 

  2. *    

  3. * 軟件功能:  PWM輸出實驗 

  4. *  

  5. *******************************************************************************/  

  6. #include "stm32f10x.h"  

  7. #include "delay.h"  

  8.   

  9.   

  10. void RCC_Configuration(void);  

  11. void GPIO_Configuration(void);  

  12. void NVIC_Configuration(void);  

  13. void TIM3_Configuration(u16 arr,u16 psc);  

  14.   

  15. /************************************************* 

  16. 函數: int main(void) 

  17. 功能: main主函數 

  18. 參數: 無 

  19. 返回: 無 

  20. **************************************************/  

  21. int main(void)  

  22. {  

  23.   u8 led_direction=1;  

  24.   u16 led_brightness=0;  

  25.   

  26.   RCC_Configuration();  

  27.   GPIO_Configuration();  

  28.   TIM3_Configuration(499,71);   

  29.   delay_init(72);  

  30.   GPIO_ResetBits(GPIOB,GPIO_Pin_5);   

  31.   while(1)  

  32.   {  

  33.       delay_ms(10);  

  34.       if(1==led_direction) led_brightness++;  

  35.       else  led_brightness--;  

  36.   

  37.       if(led_brightness>499)  led_direction=0;  

  38.       if(led_brightness==0)   led_direction=1;  

  39.   

  40.       TIM_SetCompare2(TIM3, led_brightness);  

  41.   }     

  42. }  

  43.   

  44.   

  45. /************************************************* 

  46. 函數: void RCC_Configuration(void) 

  47. 功能: 復位和時鐘控制 配置 

  48. 參數: 無 

  49. 返回: 無 

  50. **************************************************/  

  51. void RCC_Configuration(void)  

  52. {  

  53.   ErrorStatus HSEStartUpStatus;                    //定義外部高速晶體啟動狀態枚舉變量  

  54.   RCC_DeInit();                                    //復位RCC外部設備寄存器到默認值  

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

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

  57.   if(HSEStartUpStatus == SUCCESS)                  //外部高速時鐘已經準別好  

  58.   {  

  59.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //開啟FLASH預讀緩沖功能,加速FLASH的讀取。所有程序中必須的用法.位置:RCC初始化子函數里面,時鐘起振之后  

  60.     FLASH_SetLatency(FLASH_Latency_2);                    //flash操作的延時  

  61.           

  62.     RCC_HCLKConfig(RCC_SYSCLK_Div1);               //配置AHB(HCLK)時鐘等于==SYSCLK  

  63.     RCC_PCLK2Config(RCC_HCLK_Div1);                //配置APB2(PCLK2)鐘==AHB時鐘  

  64.     RCC_PCLK1Config(RCC_HCLK_Div2);                //配置APB1(PCLK1)鐘==AHB1/2時鐘  

  65.            

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

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

  68.      

  69.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)    //等待PLL時鐘就緒  

  70.     {  

  71.     }  

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

  73.     while(RCC_GetSYSCLKSource() != 0x08)                  //檢查PLL時鐘是否作為系統時鐘  

  74.     {  

  75.     }  

  76.   }  

  77.     

  78.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);  //允許 GPIOB、AFIO端口復用時鐘  

  79.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時鐘使能  

  80. }  

  81.   

  82. /************************************************* 

  83. 函數: void GPIO_Configuration(void) 

  84. 功能: GPIO配置 

  85. 參數: 無 

  86. 返回: 無 

  87. **************************************************/  

  88. void GPIO_Configuration(void)  

  89. {  

  90.   GPIO_InitTypeDef GPIO_InitStructure;        //定義GPIO初始化結構體  

  91.   

  92.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;   

  93.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   

  94.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//復用輸出   

  95.   GPIO_Init(GPIOB, &GPIO_InitStructure);       //PB用于輸出控制LED燈  

  96.   

  97. }  

  98.   

  99.   

  100. void TIM3_Configuration(u16 arr,u16 psc)      //TIM3定時器配置     

  101. {  

  102.     TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  

  103.     TIM_OCInitTypeDef TIM_OCInitStructure;  

  104.   

  105.     GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);//端口映射,參考STM32中文手冊P119和庫函數手冊P132  PB4  

  106.   

  107.     TIM_TimeBaseStructure.TIM_Period = arr; //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值     

  108.     TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置用來作為TIMx時鐘頻率除數的預分頻值  

  109.     TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設置時鐘分割:TDTS = Tck_tim  

  110.     TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計數模式  

  111.     TIM_TimeBaseInit(TIM3, & TIM_TimeBaseStructure); //根據指定的參數初始化TIMx的時間基數單位  

  112.     //((1+71[TIM_Prescaler] )/72M)*(1+499[TIM_Period] )=500us   

  113.   

  114.   

  115.     /* Configures the TIM3 in PWM Mode */  

  116.     TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;  

  117.     TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;  

  118.     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;  

  119.   

  120.     TIM_OC2Init(TIM3, & TIM_OCInitStructure);       //此處用比較 2 寄存器,對應main函數 ,也可設置為    比較 1 寄存器  

  121.   

  122.     TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);   //預裝載器使能  

  123.   

  124.     //ARR預裝載緩沖器使能    

  125.     TIM_ARRPreloadConfig(TIM3, ENABLE);  

  126.     TIM_Cmd(TIM3, ENABLE);  //使能TIMx  

  127. }  


關鍵字:STM32  單片機  PWM輸出 引用地址:STM32單片機(6) PWM輸出實驗

上一篇:STM32單片機(7) 串口通信printf重定向
下一篇:STM32單片機(5) 定時器中斷實驗

推薦閱讀

5月19日報道 今日,《華爾街日報》的報道稱,一位北京方面的官員表示,高通對于恩智浦的收購獲批前景較為樂觀。該報道公布后,恩智浦股價上漲了5.9%,創下本周最大漲幅。高通與恩智浦拒絕對此事做出評論。5月14日,彭博社的報道稱商務部重啟了對于高通恩智浦收購一事的審查程序,但并不意味著審批會通過。本周,中國監管機構已經通過了兩項交易的審核,分...
5月18日,機器人在標準平臺組機器人足球賽中比拼。當日,2019亞太機器人世界杯天津國際邀請賽在天津空港體育中心進入決賽日的比拼。作為第三屆世界智能大會的系列活動,賽事吸引了國內外103支隊伍在機器人人工智能領域同場競技。 5月18日,機器人在標準平臺組機器人足球賽中比拼。當日,2019亞太機器人世界杯天津國際邀請賽在天津空港體育中心進入決賽...
是德科技(NYSE:KEYS)推出首款具有8個模擬通道和16個數字通道的示波器,24個通道同時使用,仍能保證每個模擬通道帶寬同時達6GHz,每個模擬通道采樣率同時達16GSa/s,在一臺儀器中,實現精確、可重復的、多通道高性能測量,幫助客戶降低測試流程的復雜性。是德科技是一家領先的技術公司,致力于幫助企業、服務提供商和政府客戶加速創新,創造一個安全互聯...
“南方電網的創新氛圍很好。它在電力行業中第一家提出建設‘數字電網’,這不但很好地呼應‘數字中國’戰略”,也為構建新型電力系統打下了很好的基礎。”在5月15日舉行的《南方電網公司建設新型電力系統行動方案(2021-2030年)白皮書》(以下簡稱《白皮書》)發布暨數字電網推動構建新型電力系統專家研討會期間,中國發展研究院院長、中國社會經濟調查研究...

史海拾趣

問答坊 | AI 解惑

IC設計師培養迫在眉睫

IC設計師培養迫在眉睫 不久前,中星微電子副總裁張輝博士去了趟臺灣省,希望在哪里能招到100位IC設計人才,這一舉動引起了IC設計業的關注。對此,張輝認為,2000年到2004年,中國的集成電路產量和銷售收入的年均增長速度超過30%,是同期全 ...…

查看全部問答∨

PIC 單片機的C 語言編程

以前給大家的都是用匯編語言編寫的單片機程序.今天我們來說以下用C語言來編寫程序以前也給大家說到過這個問題,不過我感覺今天給的這本書很詳細…

查看全部問答∨

基于單片機IAP技術的LED顯示屏控制系統

摘要 在研究現有LED顯示屏電路的基礎上,提出一種基于IAP單片機傳送8位串行顯示數據的LED顯示控制系統。給出與基于該控制系統的數據組織方法相應的硬件電路。以256×64點陣雙色LED顯示屏為例說明其如何實際應用。同時給出相應的軟件源程序;并對LED ...…

查看全部問答∨

TDS100B/2000B數字示波器使用說明書

看到有人找示波器說明書,這里把我 用 的 泰克示波器的說明書發上來,希望有所幫助。 …

查看全部問答∨

高清雖好門檻高 揭開高清不能說的秘密

近幾年來,高清已經成為眾多安防廠家追求的趨勢,金融、交通等領域需求的增加也為安防高清日漸上升的地位奠定了基礎。那么,究竟是什么原因促進了安防高清的快速發展?是不是所有的安防廠商都可以發展高清產品?百萬高清在發展的過程中又遇到了哪些困 ...…

查看全部問答∨

IAR堆棧溢出的問題

                                 以前看到有人提過,感到好奇 …

查看全部問答∨

求助ucgui定時器!

我移植了UCOS II+UCGUI 3.90A到STM32F103ZE上,并用如下方法建立了一個定時器,結果定時器僅響應一次,請問是什么原因啊? GUI_TIMER_HANDLE g_TimeTimer=NULL; g_TimeTimer=GUI_TIMER_Create((GUI_TIMER_CALLBACK *)RefreshTime,1000,0,0) ...…

查看全部問答∨

【MSP430共享】玻璃破碎檢測解決方案

這是利爾達公司為Ti代理所做的一個設計,用來檢測非法入侵及周界安全。當玻璃門、窗被打破時,產生的高頻信號被麥克風檢測到,通過單片機對信號進行分析,再進行報警。 [ 本帖最后由 鑫海寶貝 于 2011-10-12 09:34 編輯 ]…

查看全部問答∨

定時器溢出中斷與用中斷函數中斷區別是什么?請教

如:定時器用TF0 = 0,中斷函數用interrupt 1 兩種區別是什么?請教老師,先謝了…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 桓台县| 襄垣县| 通城县| 马公市| 承德市| 开平市| 涟源市| 分宜县| 横峰县| 抚顺市| 苏尼特右旗| 颍上县| 奈曼旗| 蛟河市| 罗源县| 古交市| 永靖县| 邹城市| 类乌齐县| 银川市| 大冶市| 于都县| 花垣县| 郧西县| 石林| 新疆| 黄梅县| 政和县| 盐津县| 左贡县| 尚义县| 永仁县| 汕头市| 五指山市| 偃师市| 曲阜市| 通道| 将乐县| 佳木斯市| 清水县| 额济纳旗|