i.
大
5)拍码TX只需要考虑大笔资料拍码的bufferandpointer影响程序实时性不ii.接收RX部分就有点困难需要有较多的技巧考量尤其异步通信更是麻烦RF通信里面还要考虑拍码调变的方式某些硬件电路只能利用曼彻斯特编码法来拍码以去除DC分量
9.
环
2)看门狗/条件式看门狗只能够放在主循环内,可以确保主循环有效的运行,当主循环运行失败,“看门狗”自然发生Reset动作
3)主循环的绕圈时间(实时性系统反应力)
i.牵涉到系统的实时性(real-time)所以绕圈时间越短越好建议在5mS以内,
利用IOtoggle来观察主循环绕圈时间,如果程序里面有多余的IO就可以留下此IO供日后生产测试观察使用,如果没有多余在程序稳定后可以将此观察的IO移除
ii.主循环绕圈时间也会受到中断的影响,由于中断的执行等级高于主循环所以
当中断运行时间越长自然主循环的运行时间也越长,所以中断里面占用时间必须稳定的控制,不然影响系统实时性/反应性很大
iii.主循环里面每一个物件都要设计良好才能确保一个整体的绕圈时间,每一
个子程序物件进入前,都必须透过旗标判断是否需要执行,如MNLCD程序进入后立即检查是否lcdreq=1,如果在此绕圈动作中没有任何lcd资料更新,那也就不用浪费时间进入lcdsub-routine.另外如EEP储存动作由于会有writedatabusy问题所以也必定要将资料分批写入,不然程序会停留在writedata循环里面影响当时整体实时性
10.Watchdog的处理
1)Watchdog功能说明
2)Watchdog方块图说明
3)条件式清除watchdog
4)使用地方注意事项
11.Application的处理
1)透过APFIFO读取APCodeMainLoop的处理1)进入主程序循环前要有个”前处理”(Pre_Main)来将基本参数设置好才进入主循
i.APFIFO越大越能够了解系统发生过的事件(event)有助于systemdebug,只要在ICE上面stop运行观察FIFObuffer里面的数值就可以知道哪些动作进入FIFO发生过哪些事情
ii.同时系统里面有keybuffer,lcdbuffer,txbuffer,rxbuffer,eeprombuffer,tonebuffer利用FIFOandBuffer的观察,软件系统的除错性自然产生
2)APCode的编排设计
i.由于程序最后可以透过PC跳转所以APcode的数值设计就非常重要
3)根据不同的status可以展开所有动作有两次跳转动作设计出所有的命令
4)程序最后可达到表格化设计的境界利用跳转表格将程序的流程具体化
12.Powerdownandwakeup
1)省电的考量(系统耗电应该低于1uA/5V)