找回密码
 立即注册
楼主: baigezy

32G数据手册上PLL144M高速PWM相关说明太少,请大虾能不能详细讲解一下[已解决]

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:59:29
已绑定手机

11

主题

71

回帖

713

积分

高级会员

积分
713
发表于 2024-11-28 13:56:33 | 显示全部楼层
Debu*** 发表于 2024-11-28 11:13
高速PWM以16bit高级PWM为基础,支持使用PLL时钟源,寄存器异步访问,其他与16bit高级PWM相同
...

异步访问就不能开启PWM中断,是吧?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-11-28 15:05:19 | 显示全部楼层
baig*** 发表于 2024-11-28 13:55
请问一下,高速PWM不能开启PWM中断?谢谢

可以开启的,不过太高速的情况可能会出现中断间隔太短而反复进入中断,进而无法执行其他任务,谨慎开启
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:59:29
已绑定手机

11

主题

71

回帖

713

积分

高级会员

积分
713
发表于 2024-11-28 15:27:32 | 显示全部楼层
王*** 发表于 2024-11-28 15:05
可以开启的,不过太高速的情况可能会出现中断间隔太短而反复进入中断,进而无法执行其他任务,谨慎开启 ...

谢谢,还有个问题,高速PWM那些寄存器必须异步读写,那些不需要异步读写呢?

点评

PWMx_PS不用异步读写,因为不属于PWM部分。 其他的都需要使用异步读写,不然两边的时钟速度不一致无法通讯  详情 回复 发表于 2024-11-28 15:34
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:59:29
已绑定手机

11

主题

71

回帖

713

积分

高级会员

积分
713
发表于 2024-11-28 15:33:42 | 显示全部楼层
王*** 发表于 2024-11-28 15:05
可以开启的,不过太高速的情况可能会出现中断间隔太短而反复进入中断,进而无法执行其他任务,谨慎开启 ...

void PWM_init()
{
        PWMA_PS =0x01;
        CLKSEL |=0xC0;   //内部输出PLL时钟144M,并且作为IO端口的工作时钟源
        HSCLKDIV = 0x00;
        HPLLCR =0xFF;        //使能PLL功能,最高频率输出
        HSCLKDIV =0;        //不分频
        HSPWMA_CFG = 0x03;        //使能异步控制模式,异步模式下使能PWM中断;       
        WritePWMA((char)&PWMA_CCER1,0X00);
        WritePWMA((char)&PWMA_CCMR1,0X00);
        WritePWMA((char)&PWMA_CCMR1,0X60);
        WritePWMA((char)&PWMA_CCER1,0X01);
        WritePWMA((char)&PWMA_ENO,0X01);
        WritePWMA((char)&PWMA_CCR1H,512>>8);
        WritePWMA((char)&PWMA_CCR1L,512);
        WritePWMA((char)&PWMA_ARRH,1023>>8);//频率141khz
        WritePWMA((char)&PWMA_ARRL,1023);                //10位精度
        WritePWMA((char)&PWMA_DTR,0);//死区
        WritePWMA((char)&PWMA_BKR,0X80);
        WritePWMA((char)&PWMA_CR1,0X01);
        WritePWMA((char)&PWMA_ENO,0xff);
}
麻烦你给看看,还有那些寄存器没有设定,我在屠龙刀上跑的,没有PWM输出

点评

您好,你的PLL部分是有一点问题的 32G并没有PLLCR寄存器 [attachimg]66095[/attachimg] 以下是范例程序提供的切换时钟 [attachimg]66096[/attachimg] PWM部分并没有很大的问题,请先修改PLL部分以确保时钟正常,欢  详情 回复 发表于 2024-11-28 15:47
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-11-28 15:34:33 | 显示全部楼层
baig*** 发表于 2024-11-28 15:27
谢谢,还有个问题,高速PWM那些寄存器必须异步读写,那些不需要异步读写呢? ...

PWMx_PS不用异步读写,因为不属于PWM部分。
其他的都需要使用异步读写,不然两边的时钟速度不一致无法通讯
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-11-28 15:47:38 | 显示全部楼层
本帖最后由 王昱顺 于 2024-11-28 15:48 编辑
baig*** 发表于 2024-11-28 15:33
void PWM_init()
{
        PWMA_PS =0x01;

您好,你的PLL部分是有一点问题的

32G并没有PLLCR寄存器
截图202411281545511692.jpg
以下是范例程序提供的切换时钟
截图202411281546545910.jpg
并且,请在配置的开头加入
  1. EAXFR = 1; //扩展寄存器(XFR)访问使能
复制代码
否则会无法访问拓展寄存器的配置,进而导致无法生效

PWM部分并没有很大的问题,请先修改PLL部分以确保时钟正常,欢迎继续讨论

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:59:29
已绑定手机

11

主题

71

回帖

713

积分

高级会员

积分
713
发表于 2024-11-28 16:18:01 | 显示全部楼层
王*** 发表于 2024-11-28 15:47
您好,你的PLL部分是有一点问题的

32G并没有PLLCR寄存器

按照你的指导,已经正常了,谢谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-24 09:40:24
已绑定手机

1

主题

3

回帖

61

积分

注册会员

积分
61
发表于 2025-1-4 11:44:10 | 显示全部楼层
王*** 发表于 2024-11-28 15:05
可以开启的,不过太高速的情况可能会出现中断间隔太短而反复进入中断,进而无法执行其他任务,谨慎开启 ...

你好,STC8051U单片机使用高速高级PWMA,是不是就不能使用PWMA中断了?我这边中断允许位也都已经打开了,中断标志位也已经置位,但就是进不了中断

点评

可以使用 具体注意配置这个寄存器:  详情 回复 发表于 2025-1-4 11:46
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-1-4 11:46:32 | 显示全部楼层
strea*** 发表于 2025-1-4 11:44
你好,STC8051U单片机使用高速高级PWMA,是不是就不能使用PWMA中断了?我这边中断允许位也都已经打开了, ...

可以使用
具体注意配置这个寄存器:
1.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-24 09:40:24
已绑定手机

1

主题

3

回帖

61

积分

注册会员

积分
61
发表于 2025-1-4 11:58:46 | 显示全部楼层
王*** 发表于 2025-1-4 11:46
可以使用
具体注意配置这个寄存器:

就是这个没有打开,感谢
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:54 , Processed in 0.135336 second(s), 122 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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