2

我有一个项目,我试图通过蓝牙设备将数据从安卓手机发送到 pic18f4525。目前,我只是想让图片识别像“A”这样的简单字母。

据我了解,当 pic 通过 PORTC.7(RX 引脚)接收数据时,它会将 8 位信息存储到 RCREG 寄存器中,然后我要做的就是读取数据。我知道图片正在接收数据,因为正在设置接收标志。此外,我将示波器连接到图片的接收引脚,它正在接收正确的 01 序列。

我的问题是,我如何读取 RCREG 寄存器来访问信息?据我所知,我可以只使用 usart.h 中的 ReadUSART 但是这个头文件不会为我编译,所以我试图在没有那个头文件的情况下访问这些数据。有没有办法做到这一点?我试过直接存储数据(即值 = RCREG),我可以“读取”寄存器(接收标志被重置,所以我知道我正在读取它)但无论我做什么,图片总是认为该值为 0xFF发送。

我正在使用带有 ICD2 和 CC8E 编译器的 MPLAB 8.85 版。任何有关如何读取数据的帮助将不胜感激。我还完全阅读了在图片上使用 usart 的数据表,阅读了编译器手册,并在这个主题上进行了多次搜索,但无济于事。

谢谢你的帮助。

更新:

完毕!!!在又搞砸了几个小时后,我终于让它工作了。这实际上是一个波特率问题。谢谢你的帮助!

4

1 回答 1

2

你正在做的应该工作。这听起来像是波特率不匹配(不知何故,您可能忽略了设置 BRG 寄存器或错误计算了其中的值。)我会尝试写入 TXREG,触发 TX 引脚上的写入,您可以在示波器上捕获并验证实际波特率是否与 RX 上的波特率相同。

于 2012-06-06T13:41:56.567 回答