NodeMcu关于UART的理解

来源:互联网 发布:需要哪些数据挖掘工具 编辑:程序博客网 时间:2024/06/08 05:30

       UART是通用异步收发器,可以通过UART串行接口进行配置和通信,默认模式下UART会自动检测波特率,也是只有几个函数,比较好理解。

       在NodeMcu中共有两组串口,在原理图(图1)里面分别用红框和绿框选出的两组串口。在图2中,参数这栏写着0代表标准管脚,1代表GPIO13 and GPIO15,即我们所说的第二组串口,所以在使用的时候一定要注意一致性。

图1

图2

再来看下面给出的Example

-- when 4 chars is received.

uart.on("data",4,

  function(data)

   print("receive from uart:", data)

   if data=="quit"then

      uart.on("data")-- unregister callback function

   end

end,0)

最开始我一直很费解,这个串口通信要怎样在NodeMcu上实现,甚至去下载了一个串口助手,后来发现同样适用COM3,会有串口重复问题,实际上我们的运行界程序本身就占用了一个串口进行的通信,所以只需要再新建一个文件,在里面写上要发送的东西,然后点击send即可。具体操作如下



根据程序的内容,输入quit即可退出uart的函数,我们来试一下。


       如果在没有输入quit的情况下,点击右侧的显示芯片ID信息等按键的时候会如绿色框所示,当接受到quit的情况下(如红色),则退出了通信,这时再显示各种信息就可以成功了。

       其他例子同理,本文仅给和我一样不明白怎么在NodeMcu上使用uart模块的小白们使用,希望能给大家带来有用的信息。

       另外,上面那个例程每次只能接受4个字节,但是下面这个例子就可以接收一串字符。显示效果分别如图所示。




when '\r' is received.uart.on("data", "\r",  function(data)    print("receive from uart:", data)    if data=="quit\r" then      uart.on("data") -- unregister callback function    endend, 0)


原创粉丝点击