发新帖我要提问
12
返回列表
打印

哈哈,装个**也行

[复制链接]
楼主: id001
手机看帖
扫描二维码
随时随地手机跟帖
21
aibxyz| | 2008-7-15 09:42 | 只看该作者 回帖奖励 |倒序浏览

这个很简单阿

有那么麻烦?
你每次上电邀读取那些参数吧
你检查那些参数的校验,不正确就去执行那段初始化好了
这样不但能实现你的要求,还可以防止参数意外丢失的情况

使用特权

评论回复
22
hastenlin| | 2008-7-15 09:43 | 只看该作者

五楼的办法还是可行的

五楼的办法可用,楼主不要担心!
EEPROM中的数据的读与写都是由主程序控制
比如关键字的存放位置为0x01,存放数值为0xAA,(当然可以设置多个)
在执行完后,将此位置的存放数值改成0xFF,在主程序的其它地放都不对此位置数据进行处理,也就是说此位置的存放值永远为0xFF,而不可能为0xAA

达到楼主的要求,永远只执行一次,绝对没有问题;
除非有人将EEPROM取下改掉0x01位置中的值

使用特权

评论回复
23
农民讲习所| | 2008-7-15 09:47 | 只看该作者

找个IO口加个跳线不得了吗?

使用特权

评论回复
24
djyos| | 2008-7-15 09:48 | 只看该作者

转个圈子

    写程序其实有点象做人,必要是转转圈子,不要一条路走到黑。既然“只执行一次”不容易实现,那么你是不是先想一想,这样做的目的是什么?有其他方法达到吗?
    做产品,除了实现功能外,还要考虑可生产型和可检验性,“只执行一次”也就隐含了不可测试,因为测试至少要执行一次。
    如果如19楼所说,只是为了调用出厂设置,大可在生产调试时把出厂设置做好以后,删掉原始数据。
    绝大多数有“出厂设置”的产品,都会考虑在严重问题后由用户(或者厂家服务人员)恢复出厂设置功能,按楼主的思路,“恢复出厂设置”功能如何实现?既然有设置区,就不能保证设置区没有bug,或者其他bug改变设置区数据,故“恢复出厂设置”的功能是必须的。
    所以,最好的做法是,上电校验设置区数据,如果合法就使用,不合法就执行“恢复出厂设置”,用户(用服)通过特殊操作也可以“恢复出厂设置”。

使用特权

评论回复
25
djyos| | 2008-7-15 09:51 | 只看该作者

还有一点

产品做得越复杂,就越容易出问题。
既然楼主怕错误地执行第二次,那就不怕“确保只执行一次”的电路或代码出故障?

使用特权

评论回复
26
gyt| | 2008-7-15 11:09 | 只看该作者

21楼说的是

使用特权

评论回复
27
qingqiu647| | 2008-7-15 11:26 | 只看该作者

我想到,就是5楼所说的

使用特权

评论回复
28
zjh006| | 2008-7-15 16:07 | 只看该作者

我觉得5楼的方法可行

只要你的标志位设置足够长,足够巧,就可以。

使用特权

评论回复
29
id001|  楼主 | 2008-7-15 20:37 | 只看该作者

谢谢楼上各位,受教了。


嵌入式软件的可靠性都是有条件下的可靠~~~~~~~~~
经不起瞎折腾~~~~~~~



再次谢谢!

使用特权

评论回复
30
Swd21ic| | 2008-7-15 21:04 | 只看该作者

re

楼主什么叫存在判断的地方就不可靠?

那你程序里没判断吗?... 就按一般的方式做就可以了

使用特权

评论回复
31
yzaries| | 2008-7-15 23:38 | 只看该作者

11

哈哈

使用特权

评论回复
32
pheavecn| | 2008-7-16 11:54 | 只看该作者

应该采用数据完整性校验的方法来做。

不要搞真正的最后一次。
否则死都不知道怎么死的。。。。

使用特权

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

本版积分规则