新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 單片機設(shè)計:單片機IO口無法輸出高低電平原因分析

單片機設(shè)計:單片機IO口無法輸出高低電平原因分析

作者: 時間:2016-06-07 來源:網(wǎng)絡(luò) 收藏

  最近在用LPC11C14,該是32cortex-M0系列的,帶有片上CAN資源,既可以使用寄存器編程,也可以使用庫函數(shù)(CMSIS)來編程應(yīng)用方便。其下載方式有兩種:

本文引用地址:http://butianyuan.cn/article/201606/292316.htm

  SW方式;

  ISP方式;

  對于LQF48封裝而言,調(diào)試口分別為:

  29腳:SWCLK;

  39腳:SWDIO;

  

 

  這個兩個引腳可以復(fù)用,在項目設(shè)計中到了29腳,將該引腳用作了GPIO輸出腳,在用庫函數(shù)調(diào)試的過程中發(fā)現(xiàn)時鐘無法控制輸出高低電平。而用寄存器版本就可以輸出高低電平?;撕瞄L時間終于找到了原因。

  下面先看寄存器版本編程時使用的頭文件代碼:

  

 

  再看CMSIS提供的庫函數(shù)的頭文件:

  

 

  從頭文件的對比已經(jīng)發(fā)現(xiàn)了問題,寄存器版本的頭文件P0_10的地址是68結(jié)尾,而CMSIS中P0_10的地址是70結(jié)尾,翻看LPC11C14的數(shù)據(jù)手冊可以發(fā)現(xiàn)其地址為:0x40044068,顯然CMSIS提供的頭文件錯了。將CMSIS頭文件修改后,P0_10就可以正常使用了。



關(guān)鍵詞: 單片機 單片機

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉