2009-11-28 61 views
0

我無法從ARM微控制器LPC2378串口讀取數據。我必須使用UART還是可以使用任何GPIO端口? 是有一個C代碼呢?步驟來讀取ARM微控制器端口

+0

您是否在談論從PC機與您的微控制器進行通信? – 2009-11-30 21:14:47

回答

2

技術上可以使用GPIO端口,但是你的軟件負責位定時,成幀,錯誤校驗等。它通常被稱爲"bit-banging",因爲你的代碼必須做每一點,所以它是CPU密集型的。對於較低的數據速率,您可以從定時器中斷運行。

使用UART是非常容易-UART的確實有點時間,幀錯誤檢查等

the LPC2378 data sheet,微控制器具有4個UART的辛勤工作。所以使用UART是一條可行的路。您的串行數據進入哪個針腳?串行數據必須連接到可連接到4個UART之一的引腳。您必須設置單片機一些寄存器將其設置爲UART用途:

  • 啓用UART,和它的設置(地段設置有)
  • 設置哪些引腳是UART的輸入(也許)
  • 一些其他引腳設置

首先,你可以嘗試輪詢,直到它說:「有可用的字節」 UART讀取它的「RX字節可用」標誌,然後讀取來自字節接收字節寄存器。同時讀取RX錯誤標誌寄存器以查看是否有任何錯誤。

之後的工作,你可以讓RX中斷工作的工作,所以生成接收中斷來處理輸入數據。

這類事情在user manualdatasheet需要一些閱讀時間。請享用!