dsPIC33FJ256MC710 疑難問題及解決方法
2 RD15作為I/O輸出的問題
通用I/O端口是最基本最常用的接口,單片機(jī)、數(shù)字信號處理器通過它實現(xiàn)最基本的高低電平邏輯控制。應(yīng)用時,dsPIC33FJ256MC710的第48號引腳作為I/O輸出時,對應(yīng)為RD15。RD15作為開關(guān)量輸出時,軟件設(shè)置為高電平,但引腳上不能建立高電平。通過大量的試驗檢測,發(fā)現(xiàn)芯片第48號引腳RD15作為I/O端口時不能正常工作。為了更清楚地說明該問題,引入47、53、54號引腳RD14、RF7、RF8與RD15作對比。相關(guān)驗證程序如下:
運行上述程序,用示波器觀察dsPIC33FJ256MC710芯片的RD14、RF7、RF8對應(yīng)的第47、53、54引腳上的電平均為規(guī)律的方波信號,而48引腳RD15上高電平不能正常建立,只有極小的尖峰脈沖,波形如圖2所示。
圖2中上部波形為用作對比的RD14對應(yīng)的第47號引腳上的電平信號,下部波形為RD15對應(yīng)的第48號引腳上的電平信號。下部波形與上部波形的控制方式是一樣的(見上述程序),但是不能得到高電平信號。
修改程序的方法是在改變寄存器PORTDbits.RD15之后添加一個空操作指令asm(nop)。修改后程序如下:
運行修改后的程序,RD15對應(yīng)的第48號引腳上也出現(xiàn)規(guī)律的方波信號,解決了上述問題。這個問題在應(yīng)用中也是不易發(fā)現(xiàn)的,查了微芯公司的應(yīng)用筆記也無相關(guān)說明,因此詳細(xì)寫出來以饋讀者。
結(jié) 語
本文介紹了Microchip公司的高性能16位數(shù)字信號控制器dsPIC33FJ系列芯片的內(nèi)部資源,在應(yīng)用dsPIC33FJ256MC710芯片時遇到的兩個疑難問題。這些問題可能是由于硬件設(shè)計造成,也可能是外部干擾或軟件初始化造成的,往往是預(yù)想不到的問題。本文利用相關(guān)程序和波形具體闡述了這兩個問題的現(xiàn)象和解決方法,并附上了相應(yīng)的程序,希望對讀者能有所幫助。
評論