2009-11-28 77 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需要一些阅读时间。请享用!