完善资料让更多小伙伴认识你,还能领取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”章节吧,里面介绍还是比较全面的,后面还附带有个例子
|
|
|
|
谢谢你们
|
|
|
|
只有小组成员才能发言,加入小组>>
3277 浏览 9 评论
2950 浏览 16 评论
3454 浏览 1 评论
8983 浏览 16 评论
4044 浏览 18 评论
1092浏览 3评论
564浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
561浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2297浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 12:16 , Processed in 1.249411 second(s), Total 53, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号