2007.07.1 23:47 bruce:
外包给一个小伙子的单片机控制器。今天看了其C51的代码,实在不忍心看不下去了
就让其将逻辑讲一遍,我用SmartDraw一边画NS图。
因为面向过程,逻辑也不是很复杂,所以NS图很明显的暴露出了代码的累赘和混乱。
于是乎,无视现有代码,按调整合理的NS图,重新设计全局变量和函数化各种重复的代码。再把串口通讯接口规范化定义。
重写了c代码,基本一气呵成。
也不知道他用了些什么新编译器,倒是很方便编译成二进制,直接通过串口烧进芯片。发送各种设计好的串口控制指令结合手动触发一起测试,发现了几处代码错误。但也很顺利的通过了。
小伙子这回应该清楚:有了设计再编码,编码应该是胸有成足的事。而不是哪里出错改哪里。
话说回来,他的电路板设计还是不错的,除要求的串口控制和手动控制继电器功能外,增加了主板电池维持时钟,还可以定时、手动、串口控制从语音芯片播放几段音乐。软件稳定了就好。
现在的单片机芯片又便宜又好用,编译器、调试器、EDA工具也很方便,8年没碰过,变化还真是大呀。
