完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
想做一个通过串口中断改变PWM输出频率,PCA时钟源采用T0溢出率,STC官方PDF资料上有写T0溢出率可以1-256级分频。关于分频我实在不理解,分频怎样实现?STC官方资料有这么一个公式PWM频率=PCA时钟输入源频率/256。PCA时钟源可以从以下8种选择一种:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,SYSclk/8,SYSclk/12,定时器0溢出,ECI/P3.4输入。
下面是我写的代码 void main() { AUXR |=0x80;//采用1T模式 TMOD |=0x02;//采用定时器0 模式2 8位自动重装 TH0 =256-100;//初始值 TR0=1;//开定时器0 CMOD |=0x04;//选用PCA时钟源位T0溢出率 CL=0; CH=0; CR=1;//开PCA计数 CCAP1L = 0x80; //Set the initial value same as CCAP1H CCAP1H = 0x80; //25% Duty Cycle CCAPM1 = 0x42; //0x42 Setup PCA module 1 in PWM mode while(1); } 上面的代码是T0溢出没有分频,我现在想256分频这个程序应该怎么写? |
|
相关推荐
3个回答
|
|
|
|
|
|
楼主还是仔细看下官方的datasheet的“PCA工作模式寄存器CMOD”章节吧,里面介绍还是比较全面的,后面还附带有个例子
|
|
|
|
|
|
谢谢你们
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1599 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4738 浏览 0 评论
4229 浏览 9 评论
3822 浏览 16 评论
4398 浏览 1 评论
4211浏览 3评论
2380浏览 0评论
3394浏览 0评论
1158浏览 0评论
2843浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:25 , Processed in 0.677727 second(s), Total 83, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
569