打印

关于SQTP

[复制链接]
1898|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
之前通过如下程序在程序存储区写入一个ID,
#pragma romdata testID=0xf000
rom unsigned char testID[]={"20160927"};
#pragma romdata
编译后程序存储区0xf000写入的数据如图1,即是每个数字的ascii码值,每个数字占8bits。

使用带有SQTP功能的烧录器后,上述定义testID的方法不用了,改用图2上半部分窗口中SQTP设置f000位置的数据。

烧录时加载SQTP文件后,程序存储区0xf000位置被写入的数据如图2下半部分,变成了每个数字占16bits且存储顺序和上述#pragma romdata的存储顺序是反的。

为什么?怎么设置SQTP才可以像图1那样数据写入效果呢?
另外还有一个问题SQTP选择了自动加一产生ID,但是16进制的(即***9之后就下一个变成***A),可以实现10进制的吗?怎么实现?
谢谢!

图1.jpg (24.64 KB )

图1.jpg

图2&3.jpg (116.73 KB )

图2&3.jpg
沙发
yqdeso| | 2016-10-5 12:38 | 只看该作者
带有SQTP功能的烧录器?是啥烧录器?
你可以看看IPE,有SQTP功能,用KIT3就可以实现,我看到过,没仔细研究、

使用特权

评论回复
板凳
zbcaich| | 2016-11-9 10:17 | 只看该作者
SQTP的方式是用的返回式赋值了,PIC定义表格或者常数大都是这样的,想在程序中定义常数不使用返回式的,可以在编译选项里进行设置

使用特权

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

本版积分规则

56

主题

100

帖子

1

粉丝