国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

江科大學(xué)習(xí)筆記 _6.PWM輸出

2023-06-12 09:51 作者:自閉選手的Z23  | 我要投稿



PWM頻率 = 計數(shù)器的更新頻率 72M/CRR+1/ARR+1 72M/(720-1)+1/(100-1)+1 = 1000HZ

占空比 = CRR/ARR+1;

分辨率:1/ARR +1

例:時鐘72M,ARR:100-1, PSC:720-1, CRR: 50

是一個輸出 1khz,50%占空比,分辨率為1%的PWM波的參數(shù)

?

1.?RCC時鐘,定時器和GPIO外設(shè)打開

2.?配置時基單元,時鐘源選擇

3.?配置輸出比較單元

4.?配置GPIO,復(fù)用推挽輸出

5.?運(yùn)行控制

?

?

void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);

用結(jié)構(gòu)體控制輸出比較單元

1.RCC時鐘,定時器和GPIO外設(shè)打開

?RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

?

2.配置時基單元,時鐘源選擇

TIM_InternalClockConfig(TIM2);//內(nèi)部時鐘

????TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;

????TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;

????TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;

????TIM_TimeBaseInitStruct.TIM_Period = 100 - 1;//ARR

????TIM_TimeBaseInitStruct.TIM_Prescaler = 720 - 1;//PSC 72M/720/100 = 1000

????TIM_TimeBaseInitStruct.TIM_RepetitionCounter = 0;

TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);

3.配置輸出比較單元

不同的輸出通道對應(yīng)不同的GPIO口

?TIM_OCInitTypeDef ?TIM_OCInitStruct;

????TIM_OCStructInit(&TIM_OCInitStruct);//結(jié)構(gòu)體賦初值,防止有參數(shù)沒定義到

????TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;

????TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;

????TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable;

????TIM_OCInitStruct.TIM_Pulse = 0;//CCR的值

TIM_OC1Init(TIM2, &TIM_OCInitStruct);

?

4.配置GPIO,復(fù)用推挽輸出

????RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

???

????#if 0 //如果需要使用引腳重定義 PWM波輸出PA0 -> PA15

????RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

????GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2,ENABLE);

????GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

????#endif

????GPIO_InitTypeDef GPIO_InitStruct;

????GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;//復(fù)用推挽,將控制權(quán)轉(zhuǎn)移給片上外設(shè)

????GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;//如果重映射,GPIO_Pin_15

????GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

????GPIO_Init(GPIOA,&GPIO_InitStruct);

5.運(yùn)行控制

?TIM_Cmd(TIM2, ENABLE);

?

?

更改CRR寄存器函數(shù)

?TIM_SetCompare1(TIM2, Compare);

?

?

void PWM_SetCompare1(uint16_t Compare)

{

????TIM_SetCompare1(TIM2, Compare);

}

?

呼吸燈效果

?for (i = 0; i <= 100; i++)

{

????PWM_SetCompare1(i);

????Delay_ms(10);

}

for (i = 0; i <= 100; i++)

{

????PWM_SetCompare1(100 - i);

????Delay_ms(10);

}

?


江科大學(xué)習(xí)筆記 _6.PWM輸出的評論 (共 條)

分享到微博請遵守國家法律
巨鹿县| 上思县| 绍兴县| 钟祥市| 漯河市| 河东区| 遵义市| 万山特区| 长汀县| 酒泉市| 阳朔县| 阳原县| 军事| 伊金霍洛旗| 广平县| 喜德县| 阿克苏市| 石渠县| 孝昌县| 琼结县| 通辽市| 邵阳市| 红原县| 赤峰市| 莱西市| 仁怀市| 仙居县| 宁远县| 通渭县| 彩票| 页游| 闻喜县| 昌乐县| 东乌珠穆沁旗| 镶黄旗| 定日县| 金阳县| 平陆县| 越西县| 和田市| 日照市|