怎么用C51将xdata全部清零?<STC芯片>

[复制链接]
6086|8
 楼主| APT 发表于 2011-9-30 12:11 | 显示全部楼层 |阅读模式
请教各位:STC12c5a60的芯片,keil编译器.我想在启动时,先将xdata全部清零.应该怎么做?
汇编已经完全忘记了,而且在keil里也不知道怎么插入汇编,所以最好是用C51代码的方法.最好能有代码示范,谢谢!:)

注:
现在的问题:xdata的变量,如果不进行初始化,有时候会不能正常工作,如果声明xdata时初始化为0,就能正常工作.但是觉得将变量逐个初始化太麻烦,想找个懒方法.
ayb_ice 发表于 2011-9-30 13:09 | 显示全部楼层
starup.a51里配置即可
 楼主| APT 发表于 2011-9-30 14:23 | 显示全部楼层
是startup.a51吧?
我在曾经在网上搜过,但是没看明白,我按网上的帖子将startup.a51加到工程里,再编译后再看汇编,好像加不加startup.a51都是一样的.
ayb_ice 发表于 2011-9-30 14:35 | 显示全部楼层
是startup.a51文件
将此文件添加到项目中去,然后根据芯片具体实际情况修改配置字
可参考KEIL帮助文档
coody 发表于 2011-9-30 16:51 | 显示全部楼层
unsigned char xdata *p;
for(p=0; p<1024; p++)  *p = 0;
ahgao 发表于 2011-9-30 18:51 | 显示全部楼层
为什么要手工干这个,编译器不会做好吗?
 楼主| APT 发表于 2011-9-30 19:13 | 显示全部楼层
6楼,我就是不知道怎么设置编译器.

5楼的方法应该可以,谢谢!:handshake
ahgao 发表于 2011-10-1 23:31 | 显示全部楼层
5楼的方法仅在你没有预定义任何非0内容在XDATA时候才可能。
 楼主| APT 发表于 2011-10-2 22:15 | 显示全部楼层
5楼的方法仅在你没有预定义任何非0内容在XDATA时候才可能。
ahgao 发表于 2011-10-1 23:31

对哦.
再搜了startup.a51的用法,现在在家里没有keil做实验,请问:startup.a51是否如下这样设置,然后将startup.a51添加到工程的源码列表里就可以了?
XDATASTART EQU 0H ;
XDATALEN EQU 400H ; 1024字节的xdata.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

APT

23

主题

92

帖子

0

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