最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用STM32驅(qū)動無刷電機(分享)

2023-03-22 19:10 作者:SuperMario-_-  | 我要投稿

主函數(shù)如下:

?int main(void)

?{

u8 i = 0;

u8 dir=1,key=1;

delay_init(); ? ? //延時函數(shù)初始化 ??

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級

uart_init(115200); //串口初始化為115200

? LED_Init(); ? ? ?//LED端口初始化

? TIM3_PWM_Init(2000,720-1); //PWM頻率

? ?while(1)

{ ?

//電調(diào)初始化,把油門從低拉高,可自定義

for(i =190;i<240;i++){

TIM_SetCompare2(TIM3,i);

delay_ms(20);

}

while(1){

key=KEY_Scan(1); //得到鍵值

if(key)

{ ? ?

switch(key)

{ ?

case WKUP_PRES: //一檔

? TIM_SetCompare2(TIM3,160);

break;

case KEY2_PRES: //二檔

TIM_SetCompare2(TIM3,180);

break;

case KEY1_PRES: //三檔 ?

TIM_SetCompare2(TIM3,200);

break;

case KEY0_PRES: //四檔?

TIM_SetCompare2(TIM3,240);

break;

default:

TIM_SetCompare2(TIM3,190);

}

}

}? ?

} ?

}


PWM函數(shù)配置如下:

void TIM3_PWM_Init(u16 arr,u16 psc)

{??

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef? TIM_TimeBaseStructure;

TIM_OCInitTypeDef? TIM_OCInitStructure;


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能定時器3時鐘

? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB? | RCC_APB2Periph_AFIO, ENABLE);? //使能GPIO外設和AFIO復用功能模塊時鐘

GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3部分重映射? TIM3_CH2->PB5? ??

?

? ?//設置該引腳為復用輸出功能,輸出TIM3 CH2的PWM脈沖波形 GPIOB.5

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //TIM_CH2

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;? //復用推挽輸出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO

?

? ?//初始化TIM3

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

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

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

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;? //TIM向上計數(shù)模式

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx的時間基數(shù)單位

//初始化TIM3 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輸出比較極性低

TIM_OC2Init(TIM3, &TIM_OCInitStructure);? //根據(jù)T指定的參數(shù)初始化外設TIM3 OC2


TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);? //使能TIM3在CCR2上的預裝載寄存器

?

TIM_Cmd(TIM3, ENABLE);? //使能TIM3

}


PWM時鐘頻率:50HZ

最小油門占空比:TIM_SetCompare2(TIM3,190);

最大油門占空比:TIM_SetCompare2(TIM3,240);

GPIO:PB(5)


使用STM32驅(qū)動無刷電機(分享)的評論 (共 條)

分享到微博請遵守國家法律
贵州省| 蒲江县| 绩溪县| 南京市| 平罗县| 长阳| 曲松县| 墨玉县| 渭南市| 司法| 社会| 察雅县| 垫江县| 奇台县| 白朗县| 衡山县| 元阳县| 平阴县| 河津市| 普定县| 宜春市| 读书| 项城市| 香格里拉县| 崇义县| 丰台区| 岳阳县| 顺义区| 云梦县| 新疆| 漠河县| 永平县| 天长市| 富源县| 湖州市| 沾益县| 营山县| 博湖县| 鞍山市| 宁都县| 黑龙江省|