这里写代码片
void Init_Timer2(void)
{
GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);//输入 无中断
TIM2_TimeBaseInit(TIM2_PRESCALER_16,65536-1); //16分频, 65ms 溢出
TIM2_Cmd(ENABLE);
}
uint16_t TIM2_GetCapture(void)
{
/* Get the Capture Register value */
uint16_t tmpccr = 0;
uint8_t tmpccrl=0, tmpccrh=0;
tmpccrh = TIM2->CNTRH;
tmpccrl = TIM2->CNTRL;
tmpccr = (uint16_t)(tmpccrl);
tmpccr |= (uint16_t)((uint16_t)tmpccrh << 8);
/* Get the Capture Register value */
return (uint16_t)tmpccr;
}
void main(void)
{
uint16_t Counter;
System_Initializes();
pwm1_init();
//pwm11();
//pwm12();
pwm13();
while(1)
{
while(SC_READ==0);
//LED_REVERSE;
Counter = TIM2_GetCapture();//计数值赋给变量
TIM2_SetCounter(0); //计数值清零
UART1_SendByte(0xaa);
UART1_SendByte(Counter>>8);
UART1_SendByte(Counter);
while(!SC_READ==0);
Counter = TIM2_GetCapture();//计数值赋给变量
TIM2_SetCounter(0); //计数值清零
UART1_SendByte(0xbb);
UART1_SendByte(Counter>>8);
UART1_SendByte(Counter);
// LED_REVERSE;
}
}
stm8s 定时器2测量脉冲宽度(单位 us)
猜你喜欢
转载自blog.csdn.net/xiyancsdn/article/details/82460256
今日推荐
周排行