繁体   English   中英

NXP PN532 能否以 38400 波特率在 UART 上工作?

[英]Can the NXP PN532 work on UART at a 38400 baud rate?

我正在尝试将使用 NXP PN532的 RFID1356MIFARE 与使用其 UART 功能的ESP32-EVB集成。

NXP 文档指出 PN532 能够在高速 UART 上进行通信。

我正在尝试使用 38400,因为这是我正在使用的阅读器固定的波特率。

我发现了一个修改后的 Adafruit PN532 库,它添加了 HSU 支持。 该库声明HSU uses 115200 baud rate

现在,我修改PN532_HSU.cpp ,我们可以在其中找到:

void PN532_HSU::begin()
{
    _serial->begin(115200);
}

进入

void PN532_HSU::begin()
{
    _serial->begin(38400, SERIAL_8N1, 36, 4);
}

不幸的是,我无法使用这种方法在阅读器和 ESP 之间建立通信。

我可以使用普通的 Serial.read Serial.read()获得可读的 output ,因此 UART 通信有效,但这不是您阅读 MIFARE 卡的方式。

我不知道问题是什么。

你怎么看?

[编辑]

我浏览了文档,这是我的建议:如果你有一个 USB 到串行设备,使用它直接将读卡器模块连接到计算机,否则使用模块中的迷你 USB 端口直接连接它。 请执行以下步骤:

  1. 根据您将设备连接到计算机的方式,将设备置于 UART/USB CDC 模式。 文档的操作部分提供了执行此操作的确切方法
  2. 使用 picoterm / screen 或其他串行终端(如果您使用 Linux)或仅使用具有正确波特率的 Arduino 串行监视器来连接设备。(115200 用于 USB 和 38400 用于 UART)
  3. 键入文档中 COMMAND SET FOR CDC AND UART MODE 部分中列出的命令,以检查模块是否正常工作。
  4. 将一些卡放在读卡器上以检查模块在检测到卡时发送什么响应。
  5. 使用此信息为读者开发您自己的图书馆。

它不适用于常规 PN532 库。 相反,您需要使用常规的串行读写进行通信。

[原来的]

PN532 数据表中说主机接口是通过上拉/下拉设备的 I0、I1 引脚来选择的。 对于 HSU,两个引脚都必须拉低。 这是在硬件中实现的,因此您需要验证是否设置了要使用的模式。

查看您为模块发布的链接,它说它使用板上的另一个微控制器来扩展通信能力,所以也许您需要使用特定 controller 固件的驱动程序? 该链接似乎有文档说明如何在文档部分设置不同的通信系统,请查看并检查它是否有效。 链接: https://www.olimex.com/wiki/MOD-RFID1356MIFARE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM