IDE和MCC庫這種,勸大家儘量用最近版的,雖然無比臃腫巨大,但好待廠家一直維護到最新,修了很多bug,
今日在調試一顆PIC16F1704的模擬外設時,用了mcc給外設生成代碼,省時省力,非常優雅。但發現比較器死活調試不對,最後仔細對比檢查datasheet發現,有一個寄存器給錯了。
比較器1的負通道選擇裏,C1NCH choose C1IN1-
MCC給的代碼是 CM1CON0 = 0xA8;
而實際上datasheet裏寫的,選擇通道0時,也即C1IN0-,寄存器最低幾位應該全是零。而這裏我要選的是通道1,所以是1,
改爲: CM1CON0 = 0xA9;
後,測試順利成功。
最後,還有一點要提醒大家注意的是:
在使用PPS外設更改內部針腳映射到普通的IO端口引腳時,不論是ADC輸入還是PWM輸出還是TXD輸出,一定要注意端口pin腳的TRIS設置和ANSEL設置,各不相同。