新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 從8/16位向32位圖形MCU升級的技巧

        從8/16位向32位圖形MCU升級的技巧

        作者: 時間:2009-07-06 來源:網絡 收藏

        就在我的有關如何對16位PIC24微控制器進行編程一書剛剛出版不久,我聽說Microchip公司一款新的32位PIC32微控制器已經出爐。該產品使用的是MIPS內核,同時還聲稱與16位的引腳以及PIC24系列產品外圍兼容。對我來說這簡直是太重要了!我立即起身去要到一個樣片并刷新基于GNU的MPLAB C32 C編譯器的beta拷貝。

        本文引用地址:http://www.104case.com/article/173681.htm

        我只是必須看一下這款新產品像什么。它仍然像是PIC ?它能不能在同樣的演示版上工作?畢竟,我已經用C語言為PIC24寫完了15章頗有價值的16位代碼和例程。長話短說,在隨后的不到一個月的時間里,我不僅完成了代碼移植,而且已經開始利用所掌握的PIC32的經驗書寫一本新書了!


        下面就是對一個月里所發生的事情的簡要敘述。我喜歡從我遵守最好的設計準則并從閱讀數據頁開始講述,如果說我從頭到尾全面閱讀了數據頁,那是撒謊!實際上我所做的與你做的完全一樣。打開裝有以前PIC24項目的MPLAB集成開發環境,點擊F10鍵立即創建。


        二進制數字


        一長串的錯誤列表出現在輸出窗口中。令我驚奇的是,所報道的所有錯誤都明顯地只與我的二進制注釋(0b00000000),即C語言的一個非標準擴展有關。我試圖編譯我關于16位控制器一書前三章中的第一個代碼例程。這是一段非常簡單的代碼,用C來說明I/O,精確定時以及流控制(用于循環)命令。我立刻決定將所有二進制文字轉換成標準十六進制的注釋(0x00)并觀看結果,瞧!編譯器和鏈接器馬上解析出代碼沒有任何錯誤。


        感覺很幸運,我決定繼續“前進”,并在一些實際的硬件――即Explorer 16演示板上運行代碼。我獲取了一個PIC32插件式模塊(PIM),并取代我的16位器件一書中普遍所用的PIC24 PIM。加電后我抱著非常懷疑的態度觀察了幾秒鐘,竟然沒有“冒煙”!然后我取了一塊MPLAB Real ICE調試器和編程器連接到板子上。MPLAB IDE竟然很快識別出該工具并報告已發現PIC32連接到板子上。


        在快速和自動的固件后,我便立即按下編程鍵,隨后便是運行命令….但卻不工作!


        我意識到板子上明顯有什么問題,但一點也不像我所期望的那樣。這里需要解釋一下。在我的16位器件一書的前三章中,我利用C語言向讀者提供了如何生成“Hello World”這類例子。其中,我講到傳統的實現方法是,向終端發送一個字符串,但這在嵌入式控制應用中是不現實或者不合適的。而是采用一個“有趣的”方案,即制作一排8個LED,當把板子拿在手上并揮動時,燈將有節奏地閃爍。它將顯示出有用的信息,這要歸功于眼睛的自然成像持久性。實際上對此進行編碼要比描述更容易。


        不同時鐘


        事實上是,PIC32得到的I/O引腳和定時全部都是錯誤的。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 班玛县| 通辽市| 屏东市| 堆龙德庆县| 浦城县| 江华| 东乌珠穆沁旗| 张家港市| 绥宁县| 沙坪坝区| 茌平县| 万宁市| 潼关县| 万山特区| 黄大仙区| 巴彦淖尔市| 青阳县| 安阳县| 枣强县| 出国| 郴州市| 溧阳市| 泾川县| 吴川市| 奈曼旗| 南涧| 福泉市| 宁波市| 甘德县| 阿鲁科尔沁旗| 安新县| 南漳县| 额敏县| 松江区| 深圳市| 宽甸| 巴林右旗| 灵山县| 德阳市| 宣威市| 思茅市|