你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求救!STM8S003F3用TIM2可以输出PWM,用TIM1就没用

[复制链接]
脱缰的蜗牛 提问时间:2016-5-9 09:23 /
本帖最后由 脱缰的蜗牛 于 2016-5-9 15:39 编辑

求救!STM8S003F3用TIM2可以输出PWM,用TIM1就没用,本来打算输出互补式的PWM,结果连PWM 都输出不了,用的软件是STVD的,在网上看到说要配置字,如果要的话又怎么配置呢??程序如下:
    TIM1_PSCRH =0x00;  //使用内部16MHZ
    TIM1_PSCRL =0x00;  //设定预分频16MHZ
               
    TIM1_ARRH = 0x00;     //设定输出频率=160kHZ
    TIM1_ARRL = 0x64;  //0x064=100  16MHZ/100=160kHZ
               
        TIM1_CCMR1 = 0x60; //CC1配置为输出 通道1为有效电平
        TIM1_CCER1 = 0x01; //CC2ER1开启1,2,高电平有效

        TIM1_CR1 |= 0x01; //使能TIM1计数器
       TIM1_BKR |= 0x80;

       TIM1_CCR1H = 0;
       TIM1_CCR1L = 0x80;  // 占空比值

收藏 评论6 发布时间:2016-5-9 09:23

举报

6个回答
利弊 回答时间:2016-5-30 10:33:39
先看外设时钟门控寄存器配置没有,我有stm8s103的选项字节配置你参考下:
void FLASH_Init(void)
{
//解锁数据 EEPROM
FLASH_DUKR = 0xae;
delay_us(1);
FLASH_DUKR = 0x56;
delay_us(1);
//判断解锁是否成功,即判断 FLASH_IAPSR 寄存器的 DUL 位是否为 1
while(!(FLASH_IAPSR & 0x08));
delay_us(1);
//使能选项字节写操作
FLASH_CR2 = 0x80;
delay_us(1);
FLASH_NCR2 = 0x7f;
delay_us(1);
*((unsigned char *)0x4803) = 0x01;
delay_us(1);
*((unsigned char *)0x4804) = 0xfe;
}
zhuoyemp4 回答时间:2016-5-30 12:01:22
你好,需要配置选项字节
有两种方法,一种是在你的程序中写代码配置,如2楼所示,另一种是在STVP里根据需要对选项字节编程,如下图所示。

S003F3 OPT2

S003F3 OPT2

stvp OPTION BYTE

stvp OPTION BYTE
tomcator 回答时间:2017-7-31 21:39:20
好大收获
rock614 回答时间:2017-12-5 14:21:44
这种细活比较难发现,如果是中文还可以咬牙把说明文档看几遍,

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

hxydj 回答时间:2018-1-20 11:31:55

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

fhy12138 回答时间:2019-7-14 10:24:45
求楼主TIM2的PWM程序,我和您的情况相反,我是TIM1能输出,TIM2死活不输出,1213888580@qq.com,跪求楼主帮助
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版