回“看门狗复位后RAM数据会清空?”的讨论
原贴http://www.ouravr.com/machao_reset_watchdoy_and_ram_data.html
马老师原来的提法:
当系统长时间断电后,一旦上电启动,RAM中的数据自然为“0”。
个人认为有误,RAM开机的时候不能全部保证都为0,所以很多语言有一个初始话的子程序,在MAIN之前调用,进行初始话,保证ram的数据的安全性,当然也可以不用初始话,手动调整。例子可以看C51的一个配置文件就可以看到。 也就是RAM不一定是动态RAM而是静态,单片机从成本和功能上考虑都是选用的是静态RAM作为内部RAM,不需要刷新的.所以开机一瞬间,不能保证触发器全为0. 可能我的说法不正确。
建议你写个汇编的检验程序吧,上电后不要对RAM写任何东西,马上就读RAM中的数据,一个字节一个字节的读,看看读到的是什么,然后对每个内存单元写入0XA5,然后再一个一个的读出。
测验采用2种方式:
1。关掉电源,等一会再上电运行;
2。不关电源,人工复位后运行;
看看两次读出的东西是什么,并进行比较。
页:
[1]