打印

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

[复制链接]
4441|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帮助文档

使用特权

评论回复
5
coody| | 2011-9-30 16:51 | 只看该作者
unsigned char xdata *p;
for(p=0; p<1024; p++)  *p = 0;

使用特权

评论回复
6
ahgao| | 2011-9-30 18:51 | 只看该作者
为什么要手工干这个,编译器不会做好吗?

使用特权

评论回复
7
APT|  楼主 | 2011-9-30 19:13 | 只看该作者
6楼,我就是不知道怎么设置编译器.

5楼的方法应该可以,谢谢!:handshake

使用特权

评论回复
8
ahgao| | 2011-10-1 23:31 | 只看该作者
5楼的方法仅在你没有预定义任何非0内容在XDATA时候才可能。

使用特权

评论回复
9
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

粉丝