[STM8] STM8 定时器2

[复制链接]
1164|1
 楼主| yilusuiyuan 发表于 2015-4-13 22:17 | 显示全部楼层 |阅读模式
我用定时器2定时12.5us 输出到GPIOB口中的一个脚上,配置如下
void Tim2_Init(void)
{
  /* Enable TIM2 clock */
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);
  TIM2_DeInit();
  TIM2->IER = 0x00; // 禁止中断
  TIM2->PSCR = 0x00; // 计数器时钟=主时钟/128=2MHZ/2
  // 设定重装载时的寄存器值
  // 注意必须保证先写入高8 位,再写入低8 位
  TIM2->ARRH = 0x00; // 设定重装载时的寄存器的高8 位
  TIM2->ARRL = 0x32;
  TIM2->CNTRH = 0x00; // 设定计数器的初值
  TIM2->CNTRL = 0x32;
  TIM2->EGR = 0x01; // 允许产生更新事件
  
  TIM2->EGR = 0x01; // 允许产生更新事件
// 相当于计数器周期为1uS
  
  // 定时周期=1*60000=60000uS=60ms
  TIM2->CR1 |= 0x01; // b0 = 1,允许计数器工作
  // b1 = 0,允许更新
  // 设置控制器,启动定时器
  TIM2->IER = 0x01; // 允许更新中断
  TIM2->SR1 = 0X00;
}

结果波形不对,帮忙查看一哈哪里配置有问题?

这个是示波器捕捉到的波形

这个是示波器捕捉到的波形
 楼主| yilusuiyuan 发表于 2015-4-15 10:01 | 显示全部楼层
我找到原因了,因为时间太短了,有其他中断影响!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:看山是山,看水是水!

5

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部