[STM8] STM8S tim1 PWM

[复制链接]
6861|16
 楼主| 日月华人 发表于 2014-4-30 21:08 | 显示全部楼层 |阅读模式
调试一个tim1通道1输出PWM,一直是低电平,不知道为什么,求解,下面是代码:
#include "iostm8s103f3.h"
void TIM1_Init()
{
  TIM1_CCMR1 = 0x60;
  TIM1_CCER1 = 0x05;
  
//初始化自动装载寄存器,决定PWM方波的频率,     
  TIM1_ARRH = 0;
  TIM1_ARRL = 0x05;
//初始化比较寄存器,决定PWM方波的占空比              
  TIM1_CCR1H = 0;
  TIM1_CCR1L = 3;      
// 初始化时钟分频器为1,
  TIM1_PSCRH = 0x00;
  TIM1_PSCRL = 0x00;
//初始化刹车寄存器  
  TIM1_BKR=0x80;
  // 启动计数
  TIM1_CR1 = 0x01;
}

void  main(void)
{
  CLK_CKDIVR=0x10;//4分频
  TIM1_Init();
  while(1);
}
qd118 发表于 2014-5-1 21:46 | 显示全部楼层
根据不同的脚位,还需进行配置位设置
mmuuss586 发表于 2014-5-1 22:28 来自手机 | 显示全部楼层
没有gpio设置啊
 楼主| 日月华人 发表于 2014-5-12 13:57 | 显示全部楼层
qd118 发表于 2014-5-1 21:46
根据不同的脚位,还需进行配置位设置

怎样配置设置啊?能否帮忙更改一下代码!
 楼主| 日月华人 发表于 2014-5-12 13:59 | 显示全部楼层
mmuuss586 发表于 2014-5-1 22:28
没有gpio设置啊

TIM2我好像没有设置GPIO啊,可以产生PWM。用TIM1主要是因为TIM2的PWM不好配置频率。   TIM1要设置GPIO吗?怎么设置?
zhwl_1981 发表于 2014-5-12 14:39 | 显示全部楼层
   TIM1_CR1 &= ~BIT(0);         // 关闭TIM1
   //
   TIM1_PSCRH = 0;      
   TIM1_PSCRL = 0;              // 不分频16MHZ
   //
   TIM1_ARRH = 0;               // 16MHZ/(49+1) = 320KHZ
   TIM1_ARRL = 49;
   //
   /* 使能ARP 自动重装载*/
   TIM1_CR1 |= MASK_TIM1_CR1_ARPE;         
   /* 更新TIM1,使PSC有效,会触发更新事件*/
   TIM1_EGR |= MASK_TIM1_EGR_UG;
   //
   TIM1_CCR3H = 0;      
   TIM1_CCR3L = 10;             // 设置占空比
   TIM1_CCR4H = 0;      
   TIM1_CCR4L = 25;             // 设置占空比   
   //
   TIM1_CCMR4 = MCU_TIM1_CCMR;
   TIM1_CCMR3 = MCU_TIM1_CCMR;  // 配置TIM1_CH3PWM模式
   //
   TIM1_CCER2 |= BIT(0);        // 使能TIM1_CH3通道
   TIM1_CCER2 |= BIT(4);        // 使能TIM1_CH4通道
   //
   TIM1_CR1 |= BIT(0);          // 使能TIM1
   TIM1_BKR |= BIT(7);          // 禁止刹车功能
zhwl_1981 发表于 2014-5-12 14:43 | 显示全部楼层
对应的输出是PC3,PC4
#define BIT(n)                      (1<<(n))
qd118 发表于 2014-5-12 17:13 | 显示全部楼层
STM8S103xx数据手册p23有详细说明,再到编译软件里设置下即可
 楼主| 日月华人 发表于 2014-5-14 17:48 | 显示全部楼层
zhwl_1981 发表于 2014-5-12 14:43
对应的输出是PC3,PC4
#define BIT(n)                      (1

你好。我用的是STM8S103F3的芯片,没有CH3与CH4,改成CH1与CH2可以吧?
 楼主| 日月华人 发表于 2014-5-14 19:21 | 显示全部楼层
感谢各位的解答,问题已解决!谢谢!
zybyjj 发表于 2014-8-6 10:27 | 显示全部楼层
怎么解决的,我现在碰到同样的问题。
zale1204 发表于 2014-8-6 12:49 | 显示全部楼层
看来已经解决了。。
lisasa 发表于 2014-9-28 15:12 来自手机 | 显示全部楼层
只知道问问题,解决问题了也不讲一下怎么解决的。后面人碰到同样问题还是找不到答案。感觉楼主好自私啊
HanyLey 发表于 2014-10-9 10:58 | 显示全部楼层
楼主,刚刚用STM8S103F3P,遇到同样的问题,PC3,PC4有输出,PC1,PC2,没输出,请教一下,能否说明一下,你是怎么解决的,谢谢,或发我邮箱lhyhan21@126.com
liyiui 发表于 2014-10-13 18:05 | 显示全部楼层
有谁知道的说下,现在的人只管问,找到了答案也不说了
123159756 发表于 2016-11-9 10:53 来自手机 | 显示全部楼层
代碼測試過,沒有問題,應該是沒有配置OPTION BYTE的AFR0為1,所以引腳不能輸出PWM信號
xingzai2012 发表于 2020-6-12 12:58 | 显示全部楼层
需要配置一下,这个是详细解释,https://blog.csdn.net/tcjy1000/article/details/91050089
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

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