找回密码
 注册
关于网站域名变更的通知
查看: 295|回复: 3
打印 上一主题 下一主题

如何通过指针将字符串存放到高128字节?keil该怎样设置?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-20 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
unsigned char *str = "abcdefg";
1 B0 H  \& d3 r# y7 @  I; O6 q.....* v+ L* Y6 |& o+ a6 w4 i  I8 [
printf("%s\n",str);" }! ?$ \- f, \3 t4 g& H8 ?
运行结果可以在keil的uart窗口里显示结果,查看了str指向了0x7d。想把字符串放到高128字节里,在定义变量时用了idata,即:4 A$ O0 [. g3 c7 p; O1 ~
unsigned char idata *ste;
7 ~/ V: o6 P! O2 g...... {6 C, \0 i% D- W" |$ K/ C9 a
printf ("%s\n",str);
) b: `& `7 M* i  o结果没有显示。' u* E6 |8 z. K1 S( L9 c) {
在keil里设置了存储模式为large:varabes in PDATA也没用。应该是那里没设置好,以前一直用汇编编程没碰到这些事情,现在尝试学习用C51编写,好多地方都在摸石头过河。还请那位前辈指点一二,晚辈再次谢谢了。
6 A' \9 W2 \, C

该用户从未签到

2#
发表于 2022-10-20 13:11 | 只看该作者
会不会有个芯片设置呢?而且C语言这块儿,可以不用关心,编译器都给咱放好了!

该用户从未签到

3#
发表于 2022-10-20 13:58 | 只看该作者
只有128字节,又要提供堆栈,如果需要记录一个连续数据记录会出现重叠或溢出的问题,
. D& j. X& y/ ~. K4 v" P尤其针对stc12c5a60s2芯片,还集成了1024字节的内部扩展存储空间,C51可能会使用到这部分的空间,
) n- f0 Y4 H! H! ?7 v用汇编写程序,就可以随意的利用这部分空间了。

该用户从未签到

4#
发表于 2022-10-20 14:32 | 只看该作者
用指针仿真idata应该是可以的。区分在于,汇编里面针对idata,用的是寄存器间接寻址,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-3 12:39 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表