OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 329|回复: 3

使用STM8S003输出pwm,仿真没有波形出来,是什么问题呢?

[复制链接]

2

主题

11

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2023-2-8
在线时间
6 小时
发表于 2026-2-12 20:12:10 | 显示全部楼层 |阅读模式
回复

使用道具 举报

2

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2015-1-7
在线时间
45 小时
发表于 2026-2-13 09:25:07 | 显示全部楼层
你就这样提问题的?代码都不贴一下,谁看?
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2023-2-8
在线时间
6 小时
 楼主| 发表于 2026-2-14 09:20:58 | 显示全部楼层
liao12338392 发表于 2026-2-13 09:25
你就这样提问题的?代码都不贴一下,谁看?

我记得我截图,可能没上传上去,第一次发贴,发完也没注意看。。。

//====================pwm初始化===========================
void TIM1_PWM_Init( void )
{

    PC_DDR |= ( 1 << 6 );  //PC6 推挽输出
    PC_CR1 |= ( 1 << 6 );
       
    PC_DDR |= ( 1 << 7 );  //PC7 推挽输出
    PC_CR1 |= ( 1 << 7 );
   
    TIM1_CCMR1 = 0x60;        //TIM1 CH1 输出模式 PWM1
    TIM1_CCER1 |= 0x01;        //CC1为输出
       
    TIM1_CCMR2 = 0x60;        //TIM1 CH2 输出模式 PWM1
    TIM1_CCER1 |= 0x10;        //CC2为输出
   
    TIM1_PSCRH = 0x00;
    TIM1_PSCRL = 0x00;        //2M/(1+0)=2 1分频 2M
    TIM1_ARRH = FRE >> 8;     //设定自动重装载值高8位  FRE =0xC8          //frequency  频率
    TIM1_ARRL = FRE;          //设置自动重装载值低8位
    TIM1_CR1 |= 0x01;         //允许定时器中断
    TIM1_BKR = 0x80;      //刹车寄存器 使能OC1输出 定时器不工作时输出无效电平
   

}

//======================TIM1 CH1  PC6=====================
void TIM1_CH1_OUT( unsigned int DC )
{
    TIM1_CCR1H = DC >> 8;   //捕获比较寄存器高8位
    TIM1_CCR1L = DC;        //捕获比较寄存器低8位 占空比值
}

//=============================TIM1 CH2  PC7===========================
void TIM1_CH2_OUT( unsigned int DC )
{
    TIM1_CCR2H = DC >> 8;//捕获比较寄存器高8位
    TIM1_CCR2L = DC;    //捕获比较寄存器低8位 占空比值
}
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2023-2-8
在线时间
6 小时
 楼主| 发表于 2026-2-14 09:59:26 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-2-22 04:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表