久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
STM32 tim1定時器實現(xiàn)4通道pwm源程序
[打印本頁]
作者:
timonshelley
時間:
2019-5-20 17:44
標(biāo)題:
STM32 tim1定時器實現(xiàn)4通道pwm源程序
做智能電動滑板時為了控制直流電機(jī)寫的pwm程序,利用tim1定時器,實現(xiàn)4路pwm輸出,含注釋
單片機(jī)源程序如下:
#include "timer.h"
#include "led.h"
#include "usart.h"
#include "sys.h"
/**************************************************************************
函數(shù)功能:PWM初始化
入口參數(shù):無
返回 值:無
**************************************************************************/
void TIM1_PWM_Init(u16 arr, u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //使能定時器1時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIO外設(shè)時鐘
//設(shè)置該引腳為復(fù)用輸出功能,輸出TIM1 CH1234的PWM脈沖波形 GPIOC6789
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11; //
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復(fù)用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIO
GPIO_SetBits(GPIOA, GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11); //
TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個更新事件裝入活動的自動重裝載寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler = psc; //設(shè)置用來作為TIMx時鐘頻率除數(shù)的預(yù)分頻值
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設(shè)置時鐘分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數(shù)模式
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx的時間基數(shù)單位
//初始化TIM5 Channel2 PWM模式
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //選擇定時器模式:TIM脈沖寬度調(diào)制模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;//TIM_OCPolarity_Low //輸出極性:TIM輸出比較極性高
TIM_OC1Init(TIM1, &TIM_OCInitStructure); //根據(jù)T指定的參數(shù)初始化外設(shè)TIM4 OC1
TIM_OC2Init(TIM1, &TIM_OCInitStructure); //根據(jù)T指定的參數(shù)初始化外設(shè)TIM4 OC2
TIM_OC3Init(TIM1, &TIM_OCInitStructure); //根據(jù)T指定的參數(shù)初始化外設(shè)TIM4 OC3
TIM_OC4Init(TIM1, &TIM_OCInitStructure); //根據(jù)T指定的參數(shù)初始化外設(shè)TIM4 OC4
// TIM_OC5Init(TIM1, &TIM_OCInitStructure); //根據(jù)T指定的參數(shù)初始化外設(shè)TIM4 OC4
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); //使能TIM4在CCR1上的預(yù)裝載寄存器
TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable); //使能TIM4在CCR2上的預(yù)裝載寄存器
TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable); //使能TIM4在CCR3上的預(yù)裝載寄存器
TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable); //使能TIM4在CCR4上的預(yù)裝載寄存器
// TIM_OC5PreloadConfig(TIM1, TIM_OCPreload_Enable); //使能TIM4在CCR4上的預(yù)裝載寄存器
TIM_Cmd(TIM1, ENABLE); //使能TIM1
TIM_CtrlPWMOutputs(TIM1, ENABLE);
}
復(fù)制代碼
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "timer.h"
int main(void)
{
TIM1_PWM_Init(999, 71); // 定時器4路PWM 對應(yīng)IO口 PA8,PA9 PA10 PA11 9999 預(yù)裝載值 144 分頻系數(shù) , 產(chǎn)生50HZ的 PWM
while(1)
{
/*************** 通過改下邊4組值 來修改 PWM的占空比 ****************/
TIM1->CCR1 = 300;
TIM1->CCR2 = 500;
TIM1->CCR3 = 300;
TIM1->CCR4 = 500;
}
}
復(fù)制代碼
所有資料51hei提供下載:
TIM1 4路PWM.7z
(193.86 KB, 下載次數(shù): 69)
2019-5-20 18:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
csy-2015-06
時間:
2019-5-21 23:35
TIM1最多有七路哦,還有三路呢
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久精品
|
日本激情视频中文字幕
|
奇米四色在线观看
|
成人毛片在线视频
|
五月免费视频
|
一区二区影视
|
精品欧美一区二区三区久久久
|
日本一区二区高清视频
|
免费黄色在线观看
|
国内精品视频一区二区三区
|
久久草在线视频
|
国产精品资源在线观看
|
九九热这里
|
久久一起草
|
国产一区二区三区在线免费观看
|
免费国产一区
|
久久精品视频播放
|
午夜私人影院在线观看
|
亚洲一区二区三区乱码aⅴ 四虎在线视频
|
久久成人精品
|
毛片一级网站
|
亚洲国产精品久久久久秋霞不卡
|
日本免费视频在线观看
|
狠狠亚洲
|
亚洲精品视频三区
|
超碰在线网站
|
免费一区
|
国内精品免费久久久久软件老师
|
在线视频日韩精品
|
欧美不卡一区二区
|
日本在线视频一区二区
|
精品国产一区二区三区av片
|
综合网伊人
|
亚洲国产高清高潮精品美女
|
激情国产在线
|
日韩一级
|
中文字幕啪啪
|
99精品视频一区二区三区
|
日韩一区二区黄色片
|
亚洲视频欧美视频
|
北条麻妃av一区二区三区
|