完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
问题1 CH558 tiMER2捕捉模式时,对T2EX引脚的脉冲进行捕捉,请问如何对TIMER2计数器的计数溢出进行计数?
我做试验时,在timer2中断程序中用UINT8 cnt对溢出中断计数,但发现cnt计数经常溢出且TIMER2溢出中断频率很快.中断程序如下: /******************************************************************************* * Function Name : mTimer2Interrupt() * Description : CH559定时计数器2定时计数器中断处理函数 *******************************************************************************/ void mTimer2Interrupt( void ) interrupt INT_NO_TMR2 using 2 //timer2中断服务程序,使用寄存器组1 { mTimer2RunCTL( 0 ); //关定时器 cnt++; LED=!LED; if(EXF2) //T2ex电平变化中断中断标志 { EXF2 = 0; //清空T2ex捕捉中断标志 count0 = count1; //备份上一次的捕获值 ((UINT8 *)&count1)[3] = RCAP2L; //保存本次的捕获值 ((UINT8 *)&count1)[2] = RCAP2H; ((UINT8 *)&count1)[1] = cnt; ((UINT8 *)&count1)[0] = 0; length = count1 - count0; //计算两次捕获的差值,即得到时间长度 ((UINT8 *)&length)[0] = 0; finshFlag=1; } mTimer2RunCTL(1 ); } 问题2:选用内部12M 时钟,如果不用CfgFsys( ) 函数配置,是否Fsys=Fosc=12M? 另外请问MASK_PLL_MULT如何设置PLL时钟倍频系数?因为复位值是11000b=18(hex),如果我要PLL倍频2倍,如何设置MASK_PLL_MULT? 谢谢! |
|
相关推荐
3个回答
|
|
|
您好,捕获功能采集的脉宽最好是在一个合理范围内,如果经常溢出,可以尝试将定时器分频调大,有4分频和12分频可选,同时可以调整主频来配合。
系统时钟默认来自内部12M,时钟分频和PLL倍频相同,主频是12M. 如果要获得48M的PLL时钟,倍频写2就行 |
|
|
|
|
|
谢谢你的回复!
我还有个问题请教一下,我用官网的CH559EVT 里的TIMER2程序进行的试验, #ifndef TIMER #define TIMER 0 //T2作为定时器 #define T2EX_CAP 1 //T2ex捕捉引脚电平 #define T2_CAP 0 //T2捕捉引脚电平 #endif 单独测试T2EX_CAP功能,期间有一个现象令我不解, 如果注释掉第205行程序,定时器可以运行的并且能产生中断,我不知道定时器2是根据什么标志产生的中断? |
|
|
|
|
|
可能是T2exCaptureSetup这个函数会设置捕获模式的有效边沿,导致在实际的测试中边沿变化和默认的不同了。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
326 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
848 浏览 0 评论
1452 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3413 浏览 2 评论
2820 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1808浏览 1评论
1459浏览 1评论
344浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
860浏览 0评论
467浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:26 , Processed in 0.793927 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6942