ST和AVR時(shí)都沒有系統(tǒng)的看過相關(guān)文檔,都是根據(jù)項(xiàng)目,拿到datasheet,備好工具就開始了,看得最多的就是feature和pins,所以經(jīng)常在一些細(xì)節(jié)上疏忽了。在經(jīng)歷過慘痛的教訓(xùn)后,總結(jié)出來一些。。。。
1. 通過ISP給Tiny25下載程序時(shí)發(fā)現(xiàn)內(nèi)置的EEPROM的數(shù)據(jù)全部被清掉,重置為0xFF了。經(jīng)過多次實(shí)踐,可以這樣說:給AVR單片機(jī)下載程序時(shí),內(nèi)部EEPROM的數(shù)據(jù)全部會被重置,所以,如果想往EEPROM燒些初始化值的話,最好的方式是定義個.eeprom段,在燒完FLASH程序后再將生成的eep文件燒到EEPROM中去,修改Fuse和LockBits是不影響EEPROM數(shù)據(jù)的。
2. Tiny5的A/D引腳如果懸浮,那么該A/D引腳的AD電壓就會受到其他引腳電壓的影響。所以,在使用A/D模塊時(shí),確保每個A/D引腳都不是懸浮狀態(tài),不用的引腳可以上拉或者下拉,這一原則不僅對A/D引腳,對其他數(shù)字引腳也應(yīng)該如此處理,不留懸浮引腳,減少隱患,減少EMI。
3. 打開AVR單片機(jī)的LockBits后,再讀FLASH程序和EEPROM數(shù)據(jù)都會是FF,但可以重新給FLASH下載程序,下載程序后,LockBits自動清掉,默認(rèn)是關(guān)閉的。