欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
stm8s的PWM輸出38KHz源代碼
[打印本頁(yè)]
作者:
zg211211
時(shí)間:
2018-5-7 16:23
標(biāo)題:
stm8s的PWM輸出38KHz源代碼
使用stm8s的TIM2 ,輸出38KHz的PWM
測(cè)試TIME2_CH2的PWM,輸出38KHz。
必須放在首次建立工程文件的路徑下編譯,否則無(wú)效。
測(cè)試TIME1_CH1的PWM,輸出1KHz,可以調(diào)PWM。
TIME1_CH1輸出需要更改option bytes:AFR0。
單片機(jī)源程序如下:
/******************** (C) COPYRIGHT 風(fēng)馳電子嵌入式開(kāi)發(fā)工作室 ********************/
#include "pwm.h"
#include "stm8s_tim2.h"
#include "stm8s_tim1.h"
static void Delay(u16 nCount);
void Tim1_PWM_Init(void)
{
//TIM1復(fù)位
TIM1_DeInit();
//16 MHz/16 分頻= 1 兆赫、向上計(jì)數(shù), 1 MHz /1000 =計(jì)數(shù) 1000
TIM1_TimeBaseInit( 15, TIM1_COUNTERMODE_UP, 999, 0 );
//初始化捕獲/比較通道1(PWM模式1,啟用輸出比較),
TIM1_OC1Init( TIM1_OCMODE_PWM1, TIM1_OUTPUTSTATE_ENABLE,
//啟用互補(bǔ)輸出比較1,脈寬50%,輸出比較極性高電平,
TIM1_OUTPUTNSTATE_ENABLE, 499, TIM1_OCPOLARITY_HIGH,
//互補(bǔ)輸出比較極性高電平,輸出比較空閑狀態(tài)復(fù)位,互補(bǔ)輸出比較空閑狀態(tài)復(fù)//位)
TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_RESET, TIM1_OCNIDLESTATE_SET );
//啟用定時(shí)器
TIM1_Cmd(ENABLE);
//允許主輸出????? 移動(dòng) TIM1 定時(shí)器。選擇 PWM 輸出。
TIM1_CtrlPWMOutputs(ENABLE);
}
void SetTIM1_PWM_DutyCycle( uint16_t TIM1_Pulse)
{
/* Set the Pulse value */
TIM1->CCR1H = (uint8_t)(TIM1_Pulse >> 8);//ch1
TIM1->CCR1L = (uint8_t)(TIM1_Pulse);
}
void TestTIM1_PWM_LED(void)
{
u16 Duty_Val;
for(Duty_Val=0;Duty_Val<999;Duty_Val++)
{
SetTIM1_PWM_DutyCycle(Duty_Val);
Delay(0xfff);Delay(0xfff);
Delay(0xfff);Delay(0xfff);
}
}
void Tim2_PWM_Init(void)
{
TIM2_TimeBaseInit(TIM2_PRESCALER_1, 420);
TIM2_OC2Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE,210, TIM2_OCPOLARITY_HIGH);
TIM2_OC2PreloadConfig(ENABLE);
TIM2_Cmd(ENABLE);
}
void SetTIM2_PWM_Frequency(uint16_t TIM2_Period)
{
/* Set the Autoreload value */
TIM2->ARRH = (uint8_t)(TIM2_Period >> 8);
TIM2->ARRL = (uint8_t)(TIM2_Period);
}
void SetTIM2_PWM_DutyCycle( uint16_t TIM2_Pulse)
{
TIM2->CCR2H = (uint8_t)(TIM2_Pulse >> 8);
TIM2->CCR2L = (uint8_t)(TIM2_Pulse);
}
void TestTim2_PWM_LED(void)
{
u16 Duty_Val;
for(Duty_Val=0;Duty_Val<999;Duty_Val++)
{
SetTIM2_PWM_DutyCycle(Duty_Val);
Delay(0xfff);Delay(0xfff);
Delay(0xfff);Delay(0xfff);
}
}
void Delay(u16 nCount)
{
/* Decrement nCount value */
while (nCount != 0)
{
nCount--;
}
}
/******************* (C) COPYRIGHT 風(fēng)馳電子嵌入式開(kāi)發(fā)工作室 *****END OF FILE****/
復(fù)制代碼
所有資料51hei提供下載:
TIM2-PWM.rar
(255.98 KB, 下載次數(shù): 74)
2018-5-7 16:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
y9622
時(shí)間:
2019-1-27 10:17
“必須放在首次建立工程文件的路徑下編譯,否則無(wú)效。" 這是什么道理,如何解決呢?
作者:
yyhhgg
時(shí)間:
2019-3-28 23:23
樓主,占空比1%怎么修改
作者:
lzh7592
時(shí)間:
2019-3-29 17:32
沒(méi)碰到這樣的問(wèn)題
作者:
lanjinglin
時(shí)間:
2020-2-2 20:50
謝謝分享,學(xué)習(xí)了
作者:
MCU2023
時(shí)間:
2023-12-11 11:30
非常好。遺憾的是IAR環(huán)境。想要個(gè)STVD環(huán)境的。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1