【问题标题】:Can I use UART on MSP-EXP430F5529LP from Energia in order to communicate on pins p3.3 and p3.4 (rx and tx respectively)?我可以在 Energia 的 MSP-EXP430F5529LP 上使用 UART,以便在引脚 p3.3 和 p3.4(分别为 rx 和 tx)上进行通信吗?
【发布时间】:2014-04-19 05:44:22
【问题描述】:

我是否可以在 Energia 的 MSP-EXP430F5529LP 上使用 UART,以便在引脚 p3.3 和 p3.4(分别为 rx 和 tx)上进行通信?

我已经使用 UART 来通过 USB 与我的 PC 进行通信。为此,我使用 Serial.println() 等。现在使用了一个 UART,如何配置和使用第二个 UART 来连接这些引脚?或者将我的蓝牙芯片(BlueGiga wt32)重新连接到其他引脚会更好吗?

除了配置,Serial 似乎不允许多个 UART。它如何知道要打印到哪个 UART?

由于某种原因,我找不到任何有关与 Energia 的 wt32 交互或与 Energia 上的多个 UART 交互的手册。

编辑:找到此链接:http://forum.43oh.com/topic/3942-stellaris-lm4f120-multiple-uart-problem/ 只是,顺便说一句,他们说它不起作用。仍然,领先.. 但我的理解是,如果可能的话,我仍然必须在这两个引脚上配置 UART。

Edit2 在 Energia 中找到 MultiSerial 示例:

/*
  Multple serial test

  Receives from the main serial port, sends to the others. 
  Receives from serial port 1, sends to the main serial (Serial 0).

  The circuit: 
  * Any serial device attached to Serial port 1
  * Serial monitor open on Serial port 0:

  created 30 Dec. 2008
  by Tom Igoe

  This example code is in the public domain.

*/


void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte); 
  }
}

现在,这听起来像是一个非常菜鸟的问题,但是 哪里 我的 Serial1?它在我的引脚上的某个地方吗? Energia 手册中的相应页面只是一个存根。

现在,这个链接:http://energia.nu/Tutorial_SerialCallResponse.html 有一个引脚排列,根据该引脚排列,P1.1 是 TXD,P1.2 是 RXSD,这是我在其他地方没有看到的记录。我怀疑它是在这个特定示例中分配的,只是我没有在代码中看到分配;另外,我怀疑这是反向通道,除非打开开关。糊涂了!

Edit3: 找到了将您选择的引脚转换为 RX 和 TX 的 SoftwareSerial 示例。所以至少我可能有一个软件解决方案。当然,我更喜欢硬件。启动板的手册说硬件最多支持 4 个串行端口,但是如何呢?引脚在哪里?

对不起,我一直在补充。有解决办法我会整理的。

【问题讨论】:

    标签: bluetooth embedded msp430


    【解决方案1】:

    如果您不需要这些 uart 引脚与主机通信,您可以移除该板上连接 rxd 和 txd 的跳线,然后将它们连接到您的蓝牙模块。

    【讨论】:

    • 有趣!但是我有点想和主人谈谈,因为我还没有设置使用调试器,没有屏幕,只有一个闪光灯……如果我不能打印字符串,我该怎么调试?
    • 顺便说一句,如果我移除跳线,它还会通过 USB 上传我的代码吗?
    • 抱歉,我无法帮助您解决能源问题。几天或几周后,无论他们何时到达,我都会拥有我的 MSP-EXP430F5529LP 启动板,并将与它们一起使用 C/asm 并将示例发布到 github...
    • 是的,在我所描述的另一个问题中,有两个用于 reset/jtag 的引脚和两个用于 rxd/txd 的引脚,然后看起来像 rts 和 cts。复位/jtag 引脚用于编程,不应涉及 rxd/txd...易于测试,只需拉动它们并尝试对部件进行编程...
    • 啊,我明白了。谢谢你。那么,如果您要在我使用 C 指定的引脚上设置第二个 UART,这可能吗?您将如何处理?
    【解决方案2】:

    Serial.begin();适用于反向通道 UART 引脚(目标 ic 和调试器 ic 之间的 Txd、Rxd 标记为下图中的白色方块)

    http://energia.nu/wordpress/wp-content/uploads/2015/03/2016-06-09-LaunchPads-MSP432-2.0-%E2%80%94-Pins-Maps.jpg

    Serial1.begin();适用于 P3_2 和 P3_3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 2021-10-27
      • 2012-11-11
      • 1970-01-01
      • 2014-04-20
      相关资源
      最近更新 更多