乐鑫技术交流
直播中

最强海贼王

8年用户 1335经验值
擅长:MEMS/传感技术
私信 关注
[问答]

GPIO15如何“从闪存启动”或“交换 UART 的 TX”?

嗨,我正在通过 UART 建立连接,我使用
来更改 UART 的引脚以与另一个设备进行通信。(我不能使用原始引脚,因为串行编程问题导致第二个设备崩溃)
在我使用
之后,UART 的 2 个引脚是 GPIO13 和 GPIO15。
但我们应该下拉 GPIO15 以从闪存启动...
我如何使用第二个 UART 引脚,同时确保如果我的模块重置它将从闪存启动(而不是从 SD 卡)?

回帖(1)

刘杰

2023-10-18 09:53:09
要使用 GPIO15 进行闪存启动并且交换 UART 的 TX 引脚,请按以下步骤操作:

1. 配置 GPIO15 作为引导引脚,以确保在重置时从闪存启动。这可以通过将 GPIO15 连接到 GND(下拉)来完成。您可以在代码中使用以下语句实现:

   ```
   pinMode(15, OUTPUT);
   digitalWrite(15, LOW);
   ```

2. 将 UART TX 引脚更改为 GPIO13。你可以在代码中使用以下语句实现:

   ```
   #define UART_TX    13
   pinMode(UART_TX, OUTPUT);
   digitalWrite(UART_TX, HIGH);
   ```

3. 使用 GPIO15 和 GPIO13 进行串行通信,而不是使用原始的 UART 引脚。您可以在代码中使用 SoftwareSerial 库将 GPIO13 和 GPIO15 设置为串行通信引脚:

   ```
   #include

   // 设置 GPIO13 为 TX 和 GPIO15 为 RX
   SoftwareSerial mySerial(13, 15);

   void setup()
   {
     // 初始化串行通信
     mySerial.begin(9600);
   }

   void loop()
   {
     // 在 GPIO13 和 GPIO15 上进行串行通信
     mySerial.println("Hello, world!");
     delay(1000);
   }
   ```

这样,您就可以使用 GPIO13 和 GPIO15 进行串行通信,并在重置时从闪存启动。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分