从ARM微控制器端口读取数据的步骤

时间:2009-11-28 07:49:17

标签: c embedded arm microcontroller

我无法从ARM LPC2378微控制器读取串行数据。我是否必须使用UART或任何GPIO端口都可以使用? 是ayone有c代码吗?

1 个答案:

答案 0 :(得分: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的一些阅读时间。享受!