打印

MPLAB'灵异事件'

[复制链接]
2208|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近用MPLAB 的时候碰到一个奇怪的问题。我本来是写LCDCON跟LCDPS,结果编译后的代码却是写到PORTC跟PORTD去了。可以保证的是RP1:RP0是切换正确的,在SIM里面看,STATUS下RP0,RP1值确实有切换。查看芯片的DATASHEET,PORTD的地址为08H,LCDPS的地址为108H;PORTC地址为07H,LCDCON地址为107H。照这样说的话确实是MPLAB编译的问题。请问哪位碰到过相同的问题?

    以图为证:

源程序.jpg (109.18 KB )

源程序.jpg

program memory窗口.jpg (201.07 KB )

program memory窗口.jpg

地址.jpg (76.48 KB )

地址.jpg

BANK.jpg (32.7 KB )

BANK.jpg
沙发
XIEYUANBIN| | 2010-10-30 19:42 | 只看该作者
大概头文件里面定义错了。最近好像常出这样的事

使用特权

评论回复
板凳
andy2003hu|  楼主 | 2010-10-30 21:05 | 只看该作者
谢谢谢工!去查了一下P16F946.INC,寄存器的地址定义又没有错。纳闷了。。。

946-1.jpg (56.15 KB )

946-1.jpg

946-2.jpg (49.9 KB )

946-2.jpg

使用特权

评论回复
地板
lhkjg| | 2010-10-31 15:57 | 只看该作者
如果头文件没有定义错的话这个问题确实就比较古怪了。
你看看是不是设置这一位的时候有没有其他关联控制,如果有关联设置没有修改。我自己其实也经常遇到这种类似的问题,到最后只能不走直路绕过这个坎

使用特权

评论回复
5
andy2003hu|  楼主 | 2010-10-31 18:54 | 只看该作者
程序就是上面的那几句,没有啥关联哦

使用特权

评论回复
6
headwolf_83| | 2010-10-31 22:27 | 只看该作者
中文手册有错。

使用特权

评论回复
7
headwolf_83| | 2010-10-31 22:27 | 只看该作者
RP1:RP0要这样看。01是BANK1,10是BANK2.

使用特权

评论回复
8
zhaoyu2005| | 2010-11-1 10:34 | 只看该作者
就是RP1:RP0的值搞错了,看英文资料,其实STATUS<6:5>是对的

使用特权

评论回复
9
andy2003hu|  楼主 | 2010-11-1 12:50 | 只看该作者
哎,"尽信书不如无书"啊。谢谢上面的几位

使用特权

评论回复
10
Light_David| | 2010-11-13 03:39 | 只看该作者
崩溃,这事是灵异事件?亏还被你追究这么深。
显示的寄存器地址其实只能是256以内,编译器显示的寄存器名称也是映射的,只要RP0/RP1设定正确就不会有错。
这个问题几年前就应该要发现了吧?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:*NRF51822 NRF52832 DA1458X DA14681蓝牙4.0 4.1 BLE开发板模块销售 *蓝牙方案设计 *蓝牙天线调试 网址:nrf5x.taobao.com 邮箱:andy2003hunan@163.com

40

主题

1623

帖子

2

粉丝