查看: 3249|回复: 2

FF33G048的PWM

[复制链接]

2

主题

11

帖子

476

积分

高级工程师

Rank: 3Rank: 3

积分
476
发表于 2019-7-30 11:34:20 | 显示全部楼层 |阅读模式
//定义常量, 常数

//系统时钟默认使用RCHF
#define RCHFCLKCFG        8        //8, 16, 24, 36MHz

//define_all.h中RCHFCLKCFG控制系统时钟
#if( RCHFCLKCFG == 8 )//8.0MHz
#define clkmode   1
#define SYSCLKdef RCC_RCHFCON_FSEL_8MHZ//RCHF中心频率8MHz

//10KHz PWM波形输出示例
init_para.ctrl_para.INITVALUE = 0xFFFF - 800;         //通过计数初值控制pwm频率;                /* ETx初值寄存器 */
init_para.ctrl_para.CMP = 0xFFFF - 750;                        //通过比较寄存器控制占空比                /* ETx比较寄存器 */

例程中的示例10kHz 的初始值和占空比是怎么计算出来的,有没有一个公式什么的,我要修改为其他的频率和占空比该怎么修改,谢谢!



回复

使用道具 举报

1

主题

45

帖子

2053

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2053
发表于 2019-7-30 13:04:54 | 显示全部楼层
例程时钟为8M,即以1/8000000时间计数,计数周期为800,则溢出周期为1/8000000*800=0.0001,则频率为10K,占空比:当计数值等于比较值时,PWM输出为1,当计数值溢出时PWM为0,所有根据需求修改比较寄存器的即可
回复

使用道具 举报

2

主题

11

帖子

476

积分

高级工程师

Rank: 3Rank: 3

积分
476
 楼主| 发表于 2019-7-30 13:41:38 | 显示全部楼层
我是一只鱼21 发表于 2019-7-30 13:04
例程时钟为8M,即以1/8000000时间计数,计数周期为800,则溢出周期为1/8000000*800=0.0001,则频率为10K, ...

感谢
回复

使用道具 举报

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

本版积分规则

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