系统完成后将此outputH/L动作关闭,进入中断所占用的时间越短越好,原则是只要能够在主程序处理的动作都在中断里面设定flag等到主程序(mnintgnd)处理,所以中断/主程序的比例越低越好(这里也可以透过主程序循环的toggle来观察主循环的绕圈时间)
5.EEPROM的读写操作
1)EEPROM的使用有以下几个问题要注意
i.EEPROMwritetime需要一些时间,所有有两种作法,
a)write,delay,write不建议使用除非写入资料很少,暂用系统时间少
2)write,checkbusy,write超过10bytedata以上
ii.透过bufferread/write
iii.24seriesEEP要特别注意ACK讯号(绝大部份的设计者都失败在ACK信号的处理,造成系统稳定性不佳),同时上拉电阻的设置对于24series也是很重要的
iv.品牌较差的EEPROM普遍存在datalost的问题当有高电压脉冲的时候(尤其开机瞬间)很容易将内部资料清除,所以这方面要注意,当然开机那瞬间MCU对于EEP的output设定也是很重要的很容易在开机瞬间误写错误信息给EEP
6.Tone的处理
1)可能MCU产生的tone有下列几种
i.配合按键动作的Keytone约100mSsingletone
ii.电话响铃音来电转接音保留音
iii.标准音乐Do-Re-Mi等
iv.警示音errortone
7.Display的处理
1)LCDDisplay程序的唯一性尤其LCM模块使用更是重要
i.平时LCD都是透过LCDBuffer(RAM)来作为interface,当AP层面有更动LCD资料并不直接对LCM硬件操作,而是针对RAMBuffer更动资料同时设立LCDREQflag
ii.MNLCD里面发现LCDREQ=1时候才进入MNLCD程序运行显示更新,此法可有效改善效率与显示的稳定性
iii.相同如果非LCM的操作有些人认为可以直接更改LCDRAM数值直接更新显示,这也存在相当大的风险,最好的方式还式透过另外一组Buffer来做缓冲
iv.松翰的ICE发展系统有提供软件LCD模拟器给客户使用当客户的LCD还没有实体,可以透过模拟器直接在PC画面上显示,配合程序开发非常方便
8.Telecomm的处理
1)Sync(withclock)andAsync.
2)Sync.类似SPI信号datain,dataout,andclock
3)Async.本身没有Clock时钟信号一般来说有以下几个组成
i.Bitsync位元同步
ii.Framesync特定的framecode来锁定framedata开始
iii.Datalength资料长度来收集资料
iv.Checksum最后靠checksum来验证资料的正确性
4)一般来说同步或异步通信程序都是TX容易/RX译码困难