void delay(unsigned char ms)
{
unsigned char x , y;
for(x = ms; x > 0; x--)
for(y = 250 ; y > 0 ; y--);
}
void TIM2_Init()
{
PC_DDR_bit.DDR6 = 1;
PC_CR1_bit.C16 = 1;
PC_CR2_bit.C26 = 1; //PC6 Push-pull
delay(1);
TIM2_PSCR = 0x04;//The counter clock frequency = fCK_PSC / 2(PSC[2:0])=16m /16=1M
TIM2_CCMR2 = 0x60; //PWM mode 1
TIM2_ARRH = 0x3;
TIM2_ARRL = 0xE8;//Auto-reload value=1000
TIM2_CCR2H = 0;
TIM2_CCR2L = 96;
TIM2_CCER1 = 0x10;//Capture/compare 2 output enable
TIM2_CR1 |= 0x01;//Counter enabled
TIM2_BKR = 0xC0;//Main output enable
}
int main(void)
{
CLK_CKDIVR= 0x00;//System clock source/1
CLK_PCKENR1 |= 0x01;
CLK_PCKENR2 |= 0x80;
TIM2_Init();


-
- 0000000000000000
-
1888 发帖7917 回复34980 积分
- 私信他 +关注
块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖