分享

软件的鲁棒性

 卤煮小鱼 2017-06-06
  感觉自己不擅长写程序把,三年来有一搭没一搭的写了零零散散的单片机程序。
出错,出错,再出错,一再的出错。信心一点点的被消磨掉。
  最近写了一版程序,通过secs向4个LCDport写内容,通讯问题,硬件问题,最后并发系统问题,
多操作系统不了解,编写代码能力弱等等。
 多进程运行着运行着死在进程里,要注意避免系统进程里面出现死循环以及潜在的死循环。
注意使用的全局变量。
当时设计的系统是用户发指令,我这边执行。
但是考虑到用户体验:
引发出来,
(1)用户知道我在不在,H to  E(主机到设备)发送握手指令,我方回复设备名称功能,版本号等信息。
(2)我方E to H 发送心跳指令,需要知道我这边是否一直在线。如果不在线,我这边关闭LCD,
不能引发错误指示。
(3)客户发送控制指令,如果控制指令出错呢,我方需要进行纠正,如果我这边没有正确显示呢,需要回复。
(4)我放设别接入拔出需要上报消息。
这样设计之后,我方的从机设别可以在对方的完全控制下。

软件写死的两点思考:

我方和上位机的通讯,导致失败的两个原因,一个是心跳频率太快,一个是指令发给我等待我的操作完成然后回复,这个过程时间太长。再灯带的时候有心跳发送出来,收发冲突导致错误。

我方和下位机失败的原因,程序出现死循环,我没发出去怎么办?,我发出去了没有收到怎么板。避免写死,要有超时机制和重发机制。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多