完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我正在试着操作PIC的timer2,并且配置正常,但是当我试图清除PIRbits时,TMR2IF位不起作用。这是我的代码:非常感谢您的帮助,谢谢!
以上来自于百度翻译 以下为原文 Hello, I am trying to operate the Timer2 of my PIC, and the configuration works, but when I try to clear the PIRbits.TMR2IF bit it does not work. This is my code: #include #include #include #define _XTAL_FREQ 160000000 #pragma config FOSC = INTOSC void cleanUSART (void); void main(void) { TRISBbits.TRISB1=1; TRISBbits.TRISB2=0; TRISAbits.TRISA2=0; OSCCONbits.SCS1=1; OSCCONbits.IRCF3=1; OSCCONbits.IRCF2=1; OSCCONbits.IRCF1=1; OSCCONbits.IRCF0=1; T2CONbits.T2OUTPS3=1; T2CONbits.T2OUTPS2=1; T2CONbits.T2OUTPS1=1; T2CONbits.T2OUTPS0=1; T2CONbits.T2CKPS1=1; T2CONbits.T2CKPS0=1; T2CONbits.TMR2ON=1; PIR1bits.TMR2IF=0; PORTAbits.RA2=0; ANSA2=0; } I would apreciate any help, thanks! |
|
相关推荐
8个回答
|
|
你想解释一下“不工作”是什么意思吗?使帮助更容易…微笑:
以上来自于百度翻译 以下为原文 Would you like to explain what you mean by "does not work"? Makes helping easier.....Smile: |
|
|
|
是的,对不起,哈哈。我发送指令PIR1.TMR2IF=0,但是在调试器中,位保持在1。而且,在我打开Timer2的前一个指令中,TMR20N=1,它设置了TMR2IF位,我不知道为什么。
以上来自于百度翻译 以下为原文 Yes, sorry haha. I send the instruction PIR1.TMR2IF=0; but in the debugger, the bit stays in 1. Also, in the previous instruction where I turn on the Timer2, TMR20N=1, it sets the TMR2IF bit, I dont know why. |
|
|
|
您没有设置PR2寄存器的值,这可能是重要的。也不要包含一个特定于处理器的头文件(PIC16F1827。h),因为XC.H会为您处理这个问题。还有什么调试器?你是在模拟器还是实际的硅中运行?XC8版本?MPLABX?在MPLABX 3.35 XC8 1.38中,在模拟器模式下运行的代码中,没有看到任何不正确的行为。
以上来自于百度翻译 以下为原文 You have not set the value of the PR2 register, this might be important. Also do not include a processor specific header file (pic16f1827.h) as xc.h will take care of that for you. Also what debugger? Are you running in simulator or actual silicon? Version of XC8? MPLABX? I do not see any improper behavior with this code in MPLABX 3.35 XC8 1.38 running in Debug mode with the simulator... |
|
|
|
我没有设置PR2,因为我认为它是FF默认情况下。PICIT 3调试器,我正在调试芯片上。XC8V1.38,MPLAB X V.3.35.然而,两个有趣的事情正在发生。当我运行代码上的芯片(没有调试),它的工作就像我想要的。这意味着它正在清理国旗。而且,当我用模拟器运行代码时,可以看到它清除了标记。所以模拟器和运行都可以工作,但是调试和检查变量不是实时的。
以上来自于百度翻译 以下为原文 I didnt set PR2 cause I think it is FF by default. Pickit 3 debugger, I am debugging over the chip. XC8 v1.38., MPLAB X v.3.35. However, two funny things are happening. When I run the code on chip(No debugging) it works exactly like I wanted. That means that it is clearing the flag. Also, when I run the code with the simulator, I can see it clearing the flag. So both simulator and run works, but debugging and checking variables real time not. |
|
|
|
在调试时,计时器继续运行,因此在您查看时,它将再次设置位。
以上来自于百度翻译 以下为原文 The timer continues running when you are debugging, so it will have set the bit again by the time you look at it. |
|
|
|
|
|
|
|
根据芯片和调试工具的不同,在项目属性页中有一个“冻结外围设备”选项,用于调试时控制外围设备的操作。一些组合允许对单个外围设备进行特定控制,而另一些则完全或完全不选择。通常用于暂停执行时的定时器。派上用场。
以上来自于百度翻译 以下为原文 Depending on the chip and debug tool, there is a "Freeze Peripherals" option in the project properties page for the debugger that controls peripheral operation while debugging. Some combinations allow specific control of individual peripherals, while for others it's an all or nothing selection. You can typically use that to stop the timers when you pause execution. Comes in handy. |
|
|
|
冻结外围选项被选中,所以它应该冻结计时器。但是Myy Primple问题是为什么在调试器中我试图清除标志(PiR1.TMR2IF=0),而它不这样做。有没有保护PIR书写的寄存器?
以上来自于百度翻译 以下为原文 The freeze peripherial option is checked, so it should freeze the timer. But muy prinicipal question is why in the debugger I try to clear the flag (PIR1.TMR2IF=0), and it doesnt do so. Is there any register which protects the PIR from writting or something? |
|
|
|
只有小组成员才能发言,加入小组>>
5083 浏览 9 评论
1956 浏览 8 评论
1892 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3120 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2190 浏览 5 评论
640浏览 1评论
522浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
380浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
544浏览 0评论
446浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-4 19:15 , Processed in 1.971248 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号