》》》》》》》》》》
这块板子的淘宝链接》
》》》》》》》》》》
串口4种情况说明
1. usb口是ch340转UART0,双向收发
2. UART0 位于引脚 1 (TX) 和 3 (RX) 上。UART0是双向的,默认情况下用于REPL.,但是这块板子的RX 好像有问题使用引脚无法接收数据,因此使用引脚的UART0仅是TX。
3. 引脚 15 (TX) 和 13 (RX)默认不能使用,可以通过将uart0 映射到这个串口上,实际只是引脚切换,还是uart0,但是由于引脚15 不能接入高电平,因此映射过来的UART0仅是RX
4.UART1在引脚2(TX)和8(RX)上,但是引脚8用于连接闪存芯片,因此UART1仅是TX。
1.使用串口uart0 时需要将 REPL(调试终端)进行分离
打开boot.py,去掉uart0 分离的注释,一定要在boot.py 进行分离。否则无效。
2. 使用usb口进行UART0串口通信
from machine import UART,Pin
import time
uart = UART(0, 115200, tx=Pin(1), rx=Pin(3))
uart.write(b"The quick brown fox jumps over the lazy dog\r\n")
ch = b""
while ch != b"q":
if uart.any():
ch = uart.read()
uart.write(ch)
time.sleep_ms(70)
3.uart0使用 GPIO 1 (TXD0) 和 GPIO3 (RXD0) 进行数据发送(可以进行接收测试,有些不同电路的板子可以双向通信)
TX 接D9
from machine import UART,Pin
uart = UART(0, 115200, tx=Pin(1), rx=Pin(3))
uart.write(b"The quick brown fox jumps over the lazy dog\r\n")
4. uart0 使用 GPIO13(RXD2)进行数据接收,不可以和uart1同时使用
注意接线TX 接 D7
from machine import UART,Pin
import time
power_led = Pin(2, Pin.OUT)
uart = UART(0, 115200, tx=Pin(15), rx=Pin(13)) # 映射
ch = b""
while ch != b"q":
if uart.any():
ch = uart.read()
time.sleep_ms(70)
for index in range(4):
power_led.value(0) #点亮LED
time.sleep_ms((index+1)*70)
power_led.value(1) #熄灭LED
time.sleep_ms((index+1)*50)
power_led.value(0) #点亮LED
5. uart1使用 GPIO2(TXD1)进行数据发送
注意接线RX 接 D4
from machine import UART
import time
uart = UART(1, 115200)
uart.write(b"The quick brown fox jumps over the lazy dog\r\n")
ch = b"1"
while ch != b"q":
uart.write(ch)
time.sleep_ms(70)
6.总结
针对这款板子的串口功能测试情况都在上面了,固件microPython 1.15。可能不同电路拓展的板子 略微有 收发功能上的差异,自行进行测试一下。文章来源:https://www.toymoban.com/news/detail-417869.html
需要嵌入式软件定制开发进群
686070107文章来源地址https://www.toymoban.com/news/detail-417869.html
到了这里,关于microPython 吃透 esp8266 NodeMCU v3 ch340串口收发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!