[PIC®/AVR®/dsPIC®产品] PIC 18F系列 的RETLW 指令 配合ADDWF PCL指令查表有什么要求吗?

[复制链接]
5117|15
 楼主| a1048495714 发表于 2014-4-29 09:53 | 显示全部楼层 |阅读模式
我这样调用有什么问题吗  ?  为什么总是调用不对  而且 表格放在不同的地方调用出来的数据不一样 是什么原因呢?  请各位大侠 看看  感激不尽!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yewuyi 发表于 2014-4-29 10:11 | 显示全部楼层
PIC18的指令长度可能是16位的了吧。

直接C,很简单
 楼主| a1048495714 发表于 2014-4-29 10:15 | 显示全部楼层
yewuyi 发表于 2014-4-29 10:11
PIC18的指令长度可能是16位的了吧。

直接C,很简单

是 16位啊  但是我的地址每次 是加的2啊  
huangxz 发表于 2014-4-29 10:45 | 显示全部楼层
直接贴工程吧,做测试工程
 楼主| a1048495714 发表于 2014-4-29 11:16 | 显示全部楼层
huangxz 发表于 2014-4-29 10:45
直接贴工程吧,做测试工程

就是这个


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
huangxz 发表于 2014-4-29 12:29 | 显示全部楼层
a1048495714 发表于 2014-4-29 11:16
就是这个

你是要把表格的数据通过串口输出吗,没有问题啊,是顺序输出的
 楼主| a1048495714 发表于 2014-4-29 14:07 | 显示全部楼层
huangxz 发表于 2014-4-29 12:29
你是要把表格的数据通过串口输出吗,没有问题啊,是顺序输出的

:L  看着 是没问题 可是当我把表格放在程序的很后面的时候  表格就不能正常输出   也不是完全输出错误  有可能 前面的十多个或者几个 可以正常输出 后面的就不行了 会不会 和我的 MPLAB IDE软件的配置有关  第一次用 PIC的单片机 不知道有哪些规则!
huangxz 发表于 2014-4-29 16:15 | 显示全部楼层
a1048495714 发表于 2014-4-29 14:07
看着 是没问题 可是当我把表格放在程序的很后面的时候  表格就不能正常输出   也不是完全输出错误   ...

跟工程配置没有关系,就是不知道是不是你有没有采用中断之类的,
因为你是用汇编语言,也不知道是每次复位输出都不一样,还是每次编译完以后烧录后有不同的输出,
但是我觉的,你使用的这个指令是没有问题的.
 楼主| a1048495714 发表于 2014-4-29 16:52 | 显示全部楼层
huangxz 发表于 2014-4-29 16:15
跟工程配置没有关系,就是不知道是不是你有没有采用中断之类的,
因为你是用汇编语言,也不知道是每次复位输 ...

指令 我也觉的没什么问题   中断返回时 我都是恢复了W的值的啊  表格是放在不同的地方 就会输出不同的值   复位也是输出这个值  只要不移动表格的位置 输出就一样!  是不是因为  是我自行加的 PCL的值  所以当PCL值溢出的时候 不会往高位累加?所以出错?
huangxz 发表于 2014-4-29 18:08 | 显示全部楼层
a1048495714 发表于 2014-4-29 16:52
指令 我也觉的没什么问题   中断返回时 我都是恢复了W的值的啊  表格是放在不同的地方 就会输出不同的值  ...

你说的这个是很有可能的 ,pcl如果跨区了,是按照0xff为模的,看看地址信息就知道了
zhimagod 发表于 2014-4-29 23:31 来自手机 | 显示全部楼层
18的片子支持直接读取程序空间的数据吧,那样还节约空间呢
 楼主| a1048495714 发表于 2014-4-30 08:38 | 显示全部楼层
zhimagod 发表于 2014-4-29 23:31
18的片子支持直接读取程序空间的数据吧,那样还节约空间呢

嗯 是可以 直接读取程序储存空间  但是那个写入的时候比较麻烦啊   难道我还是像建立表格一样  RETLW   00H  然后通过表读命令 直接读取00H吗?  那我还不如把数据存入EEPROM喃  !
 楼主| a1048495714 发表于 2014-4-30 08:39 | 显示全部楼层
huangxz 发表于 2014-4-29 18:08
你说的这个是很有可能的 ,pcl如果跨区了,是按照0xff为模的,看看地址信息就知道了 ...

我看过啊  是 会夸区   但是 我把表格放在前面还不是一样 会跨区啊 为什么放前可以  后面就不行!
huangxz 发表于 2014-4-30 09:38 | 显示全部楼层
a1048495714 发表于 2014-4-30 08:39
我看过啊  是 会夸区   但是 我把表格放在前面还不是一样 会跨区啊 为什么放前可以  后面就不行! ...

你的表格大于256字节吗,如果小于256不一定会跨区的
youss 发表于 2014-5-1 10:57 | 显示全部楼层
网上搜一下   参考pic查大表
和下面这个: P​I​C​单​片​机​查​表​指​令​安​全​性​分​析​初​探

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 2威望 +3 收起 理由
MOVWF + 1 很给力!
a1048495714 + 2 很给力!

查看全部评分

jeoge 发表于 2020-4-13 09:33 | 显示全部楼层
大于255个字节的表怎么搞?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部