1. 程式人生 > >STM32CubeMX:PWM

STM32CubeMX:PWM

晶片:STM32F103C8T6

應用管腳:

輸出:PA0、PA1

TIM2 CH2通道

實現PA1管腳50HZ(20ms)可調PWM輸出,系統TIMx_CNT=8MHZ=8000 000HZ,設定TIMx_PSC=800-1,那麼TIMx_ARR=(TIMx_CNT/TIMx_PSC)*定時器時間=(8000000/800)*0.02=200,TIMx_ARR=200-1。

配置介面


TIM2配置


開啟NVIC中斷配置


程式中增加PWM可調佔空比應用函式

/* USER CODE BEGIN 4 */
/**
  * @brief  調整PWM佔空比
  * @param  value為佔空比 value=50 即佔空比為50%
  * @retval None
  */
void USER_PWM_SetDutyRatio(TIM_HandleTypeDef *htim,uint32_t Channel,uint8_t value)
{
	TIM_OC_InitTypeDef sConfigOC;
	
	uint32_t period=htim->Init.Period+1;
	uint32_t pluse=(value * period)/100;
	
	sConfigOC.OCMode = TIM_OCMODE_PWM1;
	sConfigOC.Pulse = pluse;
	sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
	sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
	HAL_TIM_PWM_ConfigChannel(htim, &sConfigOC, Channel);
	HAL_TIM_PWM_Start(htim, Channel);   
}
/* USER CODE END 4 */
啟動PWM並調整TIM2 CH2佔空比
  /* USER CODE BEGIN 2 */
	HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2);
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
		USER_PWM_SetDutyRatio(&htim2,TIM_CHANNEL_2,n);
		HAL_Delay(20);
		n++;
		if(n>100)
		{
			n=0;
		}
  }
  /* USER CODE END 3 */



相關推薦

STM32CubeMXPWM

晶片:STM32F103C8T6 應用管腳: 輸出:PA0、PA1 TIM2 CH2通道 實現PA1管腳50HZ(20ms)可調PWM輸出,系統TIMx_CNT=8MHZ=8000 000

STM32CubeMX學習教程之五PWM實現呼吸燈效果

完整原始碼下載:https://github.com/simonliu009/STM32CubeMX-PWM-Output軟體:STM32CubeMX V4.25.0  System Workbench V2.4韌體庫版本:STM32Cube FW_F1 V1.6.1硬體:O

STM32CubeMXUART操作

UART共有三種操作方式,輪詢方式、中斷方式以及DMA方式。 晶片:STM32F103C8T6 應用管腳: 輸出:PA0、PA1 USART1 配置介面 新增中斷配置 新增DMA配置 程式碼應用 1.實現printf函式 /* USER C

STM32CubeMX基本定時器

晶片:STM32F103C8T6 應用管腳: 輸出:PA0、PA1 TIM3 實現1ms定時功能,系統TIMx_CNT=8MHZ=8000 000HZ,設定TIMx_PSC=800-1,那麼

TIM通用定時器(三)PWM輸入捕獲模式

一、概念理解 PWM輸入捕獲模式是輸入捕獲模式的特例,自己理解如下 1. 每個定時器有四個輸入捕獲通道IC1、IC2、IC3、IC4。且IC1 IC2一組,IC3 IC4一組。並且可是設定管腳和暫存器的對應關係。 2. 同一個TIx輸入映射了兩個ICx訊號。 3. 這兩個IC

STM32CubeMXETR外部脈衝計數器

使用TIM定時器ETR管腳對外部脈衝進行計數,用PA0模擬產生脈衝進行計數。 晶片:STM32F103C8T6 輸出:PA0、PA12(TIM1_ETR)、USART1 配置介面 TIM1配置 P

STM32CubeMXRTC

晶片:STM32F103C8T6 應用管腳: USART1、RCC、RTC 配置介面 修改時鐘源為LSE 配置RTC,可設定時間及日期 應用函式 HAL_RTC_GetTime(&hrtc, &stimestructure,

張高興的 Windows 10 IoT 開發筆記使用 Lightning 中的軟件 PWM 驅動 RGB LED

pic pwm 原生 感覺 發現 rgb rgb led ace light 感覺又幫 Windows 10 IoT 開荒了,所以呢,正兒八經的寫篇博客吧。其實大概半年前就想寫的,那時候想做個基於 Windows 10 IoT 的小車,但樹莓派原生不支持 PWM 啊。百度也

Linux驅動開發11【裝置樹】nanopi的PWM驅動

介紹 前兩節利用裝置樹實現了nanopi的LED驅動和按鍵驅動,這一節來實現nonapi的PWM驅動。PWM驅動在核心中也有相應的實現,因此這裡只是按照要求新增裝置樹檔案即可。這一節和之前一樣,首先修改裝置樹檔案進行測試,然後分析核心相應的軟體實現。 新增裝置樹節點 因為在s

STM32CubeMX學習筆記——STM32H743通用定時器PWM

STM32CubeMX學習筆記——STM32H743通用定時器PWM Github 功能簡述 STM32CubeMX配置 Pinout配置 Clock Configuration配置 Configuration

STM32CUBEMX使用經驗分享1軟體的簡單介紹

STM32CUBEMX是ST公司設計的一款免費軟體,軟體可以通過其官網下載。現在已經下載到。通過STM32CUBEMX可以完成從微控制器選型,程式初始化,中斷配置……工作。並生成對應的"HAL庫程式",其目前支援的編譯器包括EWARM,MDK-ARM V4,MDK-ARM V5,TreeSTUDIO,SW4S

使用stm32cubemx開發四串列埠標準化輸出

硬體平臺:stm32F407Zet6 軟體平臺:stm32cubeMX 4.7+MDK5.14 電路連線:PA9,PA10 第一步、通過Stm32CubeMX圖形介面建立Keil工程 需要配置的地方是 在這裡可以修改串列埠工作的一下引數,軟體就可以生成配

STM32CubeMX學習教程之七ADC讀取電壓並輸出到串列埠

完整原始碼下載:https://github.com/simonliu009/STM32CubeMX-ADC軟體:STM32CubeMX V4.25.0  System Workbench V2.4韌體庫版本:STM32Cube FW_F1 V1.6.1硬體:OneNet 麒

使用HAL庫、STM32CubeMX和Keil 5開發入門教程(一)點亮一盞LED燈(NUCLEO-F411RE)

本教程以點亮一盞LED燈為目的為大家演示用STM32CubeMX、Keil、ST-Link開發STM32程式的一般方法。 一、學習前的準備工作 硬體:一塊STM32開發板,一個ST-Link;(我使用的開發板是NUCLEO-F411RE) 軟體:裝好ST-

STM32CubeMX學習教程之十硬體I2C讀寫AT24C02

完整原始碼下載:https://github.com/simonliu009/STM32CubeMX-hardware-I2C-AT24C02網上有流傳已久一種說法,就是STM的I2C有bug,不好用。確實很多人在實際應用中都遇到了各種問題,所以絕大部分人都是在用軟體模擬II

STM32CubeMX學習教程之一GPIO輸出之跑馬燈

完整原始碼下載:https://github.com/simonliu009/STM32CubeMX-GPIO-Control軟體版本:STM32CubeMX V4.25.0  System Workbench V2.4韌體庫版本:STM32Cube FW_F1 V1.6.1

Stm32CubeMX快速配置與STM32HAL庫高頻詞彙(一)CubeMX使用

STM32CubeMX作為ST官方主推的開發工具,使用圖形化的介面對微控制器進行內部硬體配置,哪裡不會配置就點哪裡,更驚人的是支援STM32全系列。。。等等我要靜靜思考下人生,照這樣下去STM32的開

使用STM32CubeMX開發二按鍵實驗

硬體平臺:stm32F407Zet6 軟體平臺:stm32cubeMX 4.7+MDK5.14 電路連線:PE8-LED0、PE9-LED1、PE10-LED2、PE11-LED3、PE12-KEY0、PE13-KEY1、PE14-KEY2、PE15-KEY3

STM32學習筆記(5)通用定時器PWM輸出

PWM的輸出管腳是確定好的,具體的引腳功能可以檢視《STM32參考手冊》的“8.3.7 定時器複用功能重對映”一節。在此需要強調的是,不同的TIMx有分配不同的引腳,但是考慮到管腳複用功能,STM32提出了一個重映像的概念,就是說通過設定某一些相關的暫存器,來使得在其他非原始指定的管腳上也能輸出PWM。但是這

STM32CubeMX學習教程之四定時器中斷

完整原始碼下載:https://github.com/simonliu009/STM32CubeMX-TIM1-Interrupt軟體:STM32CubeMX V4.25.0  System Workbench V2.4韌體庫版本:STM32Cube FW_F1 V1.6.1