|
#############主程序########################
include <timer.c>
int main(void)
{
u16 i;
Stm32_Clock_Init(9);//系統(tǒng)時鐘設(shè)置
uart_init(72,115200);//串口初始化115200
delay_init(72); //延時初始化
LED_Init(); //初始化與LED鏈接的硬件接口
TIM3_PWM_Init(1999,719);
while(1)
{
for(i=1750;i<1951;i++){ //舵機從0度開始,0度為1750。
LED0_PWM_VAL=i; //循環(huán)得到的i變量賦值到舵機上
delay_ms(10);
}
for(i=1951;i>1749;i--){ //舵機從180度開始,180度為1950。
LED0_PWM_VAL=i; //循環(huán)得到的i變量賦值到舵機上
delay_ms(10);
}
}
}
##################################頭文件timer.c############################
void TIM3_PWM_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1; //TIM3時鐘使能
RCC->APB2ENR|=1<<3; //使能PORTB時鐘
GPIOB->CRL&=0XFF0FFFFF; //PB5輸出
GPIOB->CRL|=0X00B00000; //復(fù)用功能輸出
RCC->APB2ENR|=1<<0; //開啟輔助時鐘
AFIO->MAPR&=0XFFFFF3FF; //清除MAPR的【11:10】
AFIO->MAPR|=1<<11; //部分重映像,TIM3_CH2->PB5
TIM3->ARR=arr; //設(shè)定計數(shù)器自動重裝值
TIM3->PSC=psc; //預(yù)分頻賦值
TIM3->CCMR1|=7<<12; //CH2 PWM2模式
TIM3->CCMR1|=1<<11; //CH2預(yù)裝載使能
TIM3->CCER|=1<<4; //OC2 輸出使能
TIM3->CR1=0x0080; //ARPE使能
TIM3->CR1|=0x01; //使能定時器3
}
代碼下載:
舵機 寄存器.7z
(83.17 KB, 下載次數(shù): 14)
2021-7-23 22:04 上傳
點擊文件名下載附件
|
評分
-
查看全部評分
|