STM8S003F TIM2 输出PWM 怎么才能 精度高 而且PWM频率也高

2019-07-19 20:57发布

下边例程测试过是PD4口输出PWM波形   我想做100KHZ的PWM   然后在频率不改变的基础上,占空比从0-100可调      可是在调试时发现  ARR调大了以后  输出PWM频率会低到几KHZ 甚至几十HZ

请问各位大侠 我怎么设置 才能做成100Khz  占空比可调呢




void TIM2_INIT()
   {
      CLK_PCKENR1 |= 0x20;   //TIM2外设时钟使能  STM8外设时钟默认全部使能的,如果没有禁止外设时钟,此段可省略

      TIM2_CR1 = 0x00;       //禁止计数器,计数器一般先禁止,配置参数完成后再使能

      TIM2_CCMR1 = 0x70;    //输出模式PWM2  
                             //CC1配置为输出模式
                             //PWM2模式

      TIM2_CCER1 = 0x03;    //OC1低电平有效  OC1信号输出到对应的引脚

      TIM2_ARRH = 0x00;      //

      TIM2_ARRL = 0xff;      //

      TIM2_CCR1H =0x0f;

      TIM2_CCR1L =0xff;

      TIM2_PSCR =0x00;      //分频系数为0

      TIM2_IER =0x02;      //禁止更新中断,通道1中断允许,产生中断后需进入中断清楚标志位,否则程序会死在中断内

      TIM2_CR1 =0x01;      //使能计数器




   }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
jim123
1楼-- · 2019-07-19 22:57
 精彩回答 2  元偷偷看……
Electronic
2楼-- · 2019-07-20 02:17
单片机频率只有16M,你需要输出100K的频率,那么ARR的只只能设置为160-1,分辨率也就大大的降低了
inocencelove
3楼-- · 2019-07-20 04:42
 精彩回答 2  元偷偷看……
Electronic
4楼-- · 2019-07-20 06:10
可以用16M啊
inocencelove
5楼-- · 2019-07-20 10:54
Electronic 发表于 2017-3-3 09:50
可以用16M啊

上电后 默认的是2M   我没配置    话说   默认2M是不是有原因的啊   内部高速RC   做主频  是不是  高了 会有隐患?
Electronic
6楼-- · 2019-07-20 15:32
 精彩回答 2  元偷偷看……

一周热门 更多>