完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我目前使用的是MPLAB 3.26--XC8 1 37(最后我转到了XC8)。我遇到了PIC18F8490(至少对我来说是这样)的奇怪行为(到目前为止我没有尝试其他PIC):(通常在C18中)我习惯于设置寄存器中的位,比如(例如使用TMR3的32KHz晶体):T3CON=0b00001111;这简直被忽略了!计时器不应每4秒溢出一次。它更像是2秒,程序也显示出奇怪的行为。当我逐个设置位时,它工作:T3CONbits.RD16=0;T3CONbits.T3CKPS0=1;T3CONbits.T3CKPS1=0;T3CONbits.T3SYNC=1;T3CONbits.TMR3CS=1;T3CONbits.TMR3ON=1;这同样发生在INTCON寄存器和端口寄存器中——当使用reg=0bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx时,这些设置被忽略。我是否遗漏了(迁移)文档中的某些内容,上面提到的寄存器的简单寻址在XC8中不再可能,并且这些位必须单独寻址,或者这是其他内容?
|
|
相关推荐
12个回答
|
|
这应该可以正常工作。请确保您没有忘记在二进制值上加上“0b”前缀,我曾看到很多人意外地这样做。
|
|
|
|
|
|
|
|
可以调试和单步执行。您可以验证它是您还是编译器。
|
|
|
|
您好,我把0B前缀微笑:但是这些设置被忽略了——就像上面例子中的预分频器设置一样。TMR3和USART都快把我逼疯了,直到我发现(我回到闪烁的LED)我已经逐个地“个人”设置了位。对此我没有任何解释。
|
|
|
|
NKurzman:我这样做了,所以我发现设置是错误的。
|
|
|
|
嗨,Dave,0b00001111对于1:2预分频器:位5-4T3CKPS1:T3CKPS0:Timer3输入时钟预分频选择位11=1:8预分频值10=1:4预分频值01=1:2预分频值00=1:1预分频值是正确的,但是即使10也会给出8秒间隔的正确行为。2、PIE1、PIE2、IPEN、IPR2、RC1IF显示出相同的问题——除非单独寻址,否则不设置比特,如PIR1bit.RC1IF而不是RC1IF。
|
|
|
|
我会尝试一个不同的PIC和一个不同的程序员(我使用皮卡3),然后报告。
|
|
|
|
我同意戴夫的观点。再次检查-这是位5和4,所以1:1预分频器是
|
|
|
|
使用浮标并查看它放置的位置。在一次设置一个比特之后,查看寄存器。是不同的吗?根据另一张海报,我想是的。
|
|
|
|
“1-1”和“戴夫:是的,你们两个都对!对于PS= 1:2,应为0B000 010111。
|
|
|
|
使用全新的PIC18F8490和PIC18F2550和PIC16F690“去掉”的寻址问题。使用的PIC18F8490损坏(或我损坏它)。很抱歉用这些“鬼效应”打扰你!
|
|
|
|
有趣的失败。每个人都浪费时间在坏的硬件上。
|
|
|
|
只有小组成员才能发言,加入小组>>
5189 浏览 9 评论
2009 浏览 8 评论
1933 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3181 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2232 浏览 5 评论
746浏览 1评论
632浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
517浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
644浏览 0评论
544浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 20:27 , Processed in 1.444161 second(s), Total 103, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号