打印

定义数据

[复制链接]
2055|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LingTian|  楼主 | 2014-8-6 15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于 PIC16 系列,未使用的空间数据为 0X3FFF, 在XC8中,如何在特定的地址定义不大于 0X3FFF的数据?
沙发
LingTian|  楼主 | 2014-8-6 15:37 | 只看该作者
XC8中对应 MPASM 中的 DW 。

使用特权

评论回复
板凳
yewuyi| | 2014-8-6 16:39 | 只看该作者
你为何要动它?

这个0X3FFF对应的机器码是一个很特殊的ASM指令,如果没有非常特别的原因的话,建议不动。

很久以前似乎有一个fill宏指令,但后来就没有了,但在一些编程器软件中可以设置空白区填充,例如XELTEK的编程器软件,你可以自己随便填写空白区填充的数字。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
LingTian + 3
地板
yklstudent| | 2014-8-6 16:43 | 只看该作者
C
const uint8_t var @ 0x2000 = 0x55;
不过楼主似乎没搞清楚一些东西
自己去弄下就知道了

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
LingTian + 1
5
LingTian|  楼主 | 2014-8-6 19:13 | 只看该作者
看来是没有这样的指令了.

使用特权

评论回复
6
lanmp| | 2014-8-6 23:51 | 只看该作者
PIC16的数据总线只有8bit,所以大于255的一定不是数据。

使用特权

评论回复
7
LingTian|  楼主 | 2014-8-7 11:48 | 只看该作者
看你怎么理解了,你不可以说8bits 的系统没有 INT? LONG INT?

使用特权

评论回复
8
LingTian|  楼主 | 2014-8-7 11:50 | 只看该作者
本来就想存个 AD 的结果,10 bits  为 0x3ff, 省点空间。

使用特权

评论回复
9
yklstudent| | 2014-8-7 12:07 | 只看该作者
flash支持字节擦除写的话 没什么不可以用的
不过为什么不用内部eeprom呢?

使用特权

评论回复
10
lanmp| | 2014-8-7 19:58 | 只看该作者
LingTian 发表于 2014-8-7 11:48
看你怎么理解了,你不可以说8bits 的系统没有 INT? LONG INT?

对你来说是,很多人吧自己的名字写在空白flash地址上。对cpu的数据总线来说不是,因为他只能看见8位,读写都是。对他来说0x1ff和0xff是一样的。

使用特权

评论回复
11
yewuyi| | 2014-8-8 08:23 | 只看该作者
lanmp 发表于 2014-8-6 23:51
PIC16的数据总线只有8bit,所以大于255的一定不是数据。

不一定。

使用特权

评论回复
12
lanmp| | 2014-8-8 10:42 | 只看该作者
yewuyi 发表于 2014-8-8 08:23
不一定。

举个例子

使用特权

评论回复
13
yewuyi| | 2014-8-8 12:00 | 只看该作者
lanmp 发表于 2014-8-8 10:42
举个例子

1、PIC的操作码、地址码或者数据是混合编码的。
2、PIC不仅有8位,还有16位、32位产品,混合编码的位长都是不一样的。

使用特权

评论回复
14
lanmp| | 2014-8-8 13:11 | 只看该作者
yewuyi 发表于 2014-8-8 12:00
1、PIC的操作码、地址码或者数据是混合编码的。
2、PIC不仅有8位,还有16位、32位产品,混合编码的位长都 ...

1. 混合编码中的数据有超过8位的么?
2. 不是在说PIC18么?

使用特权

评论回复
15
yewuyi| | 2014-8-8 13:31 | 只看该作者
lanmp 发表于 2014-8-8 13:11
1. 混合编码中的数据有超过8位的么?
2. 不是在说PIC18么?

对于PIC16来说,编码中操作数的位长<=8,但这不表示PIC16的数据总线宽度是8位啊!

因为LZ的帖子写的是PIC16,而你回的是:PIC,这有可能产生误解,所以我回复:不一定。

使用特权

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

本版积分规则

个人签名:有苏州的朋友吗?请加我。 18912798761@189.cn

15

主题

248

帖子

0

粉丝