完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
N76E003定时器tiM1不知道为啥倍频了,找了半天没找到原因,求教下,谢谢了
下面是正文:设置P0口为推挽输出 定时器使用系统时钟,不做分频,测试过下同输出时钟为16.4M 设置TH+TL为16000,结果发现,居然500us进入中断1次,通过设置IO口翻转,示波器观察得到 中断,只做IO口翻转 void Timer1_ISR (void) interrupt 3 //interrupt address is 0x001B { if(P0==0xFF)P0=0; else P0=0xFF; } P0M2=0xFF; //设置相应端口 P1M2=0x00; P3M2=0x00; P0M1=0x00; P1M1=0; P3M1=0; TIMER0_MODE0_ENABLE; //定时器0设置为16位定时器模式 TIMER1_MODE0_ENABLE; //定时器1设置为16位定时器模式 clr_T0M; //清理定时器0 clr_T1M; //清理定时器1 TH0 = 0x03; //定时器0中断为50us,16*50=0x0320 TL0 = 0x20; TH1 = 0x3E; //定时器1中断为1ms,16*1000=0x3E80 TL1 = 0x80; CKCON|=0x18; set_EADC; //开启ADC中断允许位 set_ET0; //允许定时器0中断 set_ET1; //允许定时器1中断 set_EPI; //启动端口的中断 EIE1|=1; //开启串口1中断 set_EA; //允许启动中断 set_TR1; //定时器1开启,系统心跳 while(1); |
|
相关推荐
1个回答
|
|
N76E003定时器TIM1的倍频可能是由于时钟源设置不正确而造成的。默认情况下,该定时器使用的时钟源为内部晶振,其频率是16MHz。如果设置不正确,可能会导致倍频。解决方法如下:
1.确保时钟源为内部晶振,频率为16MHz。可以在代码中进行设置,如下所示: CLK_DIV=0x00; //不分频CLK_SEL=0x00; //内部晶振 2.如果确认时钟源设置正确,但问题仍然存在,则可能是硬件故障造成的。此时需要检查N76E003的硬件电路,包括时钟电路、晶振电路等部分,确保没有问题。 总之,解决N76E003定时器TIM1倍频问题的关键是正确设置时钟源。如果设置不正确或硬件电路存在问题,都可能导致倍频现象的出现。需要仔细检查和调试。 |
|
|
|
只有小组成员才能发言,加入小组>>
695 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
654浏览 9评论
650浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
782浏览 6评论
629浏览 5评论
669浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 15:29 , Processed in 4.383815 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号