FlexLua低代码单片机实现WK2124 扩展 4 个 UART 串口

96 篇文章 0 订阅
32 篇文章 0 订阅

WK2124 扩展 4 个 UART 串口

本文基于 FlexLua 低代码单片机技术,无需复杂单片机C语言开发。即使新手也可很容易用FlexLua零门槛开发各种功能丰富稳定可靠的 IoT 硬件,更多学习教程可参考 FlexLua 官网。

一、WK2124介绍

WK2124是SPI接口的4通道UART扩展器件,可以通过SPI总线扩展出4个串口(UART)。 并且每个串口的波特率可以单独设置。所以基于WK2124模块,我们就可以很容易扩展出最多4个串口,来满足一些应用场景的特殊需求,比如需要接多个RS232接口,多个RS485接口,或者多个TTL串口传感器模块的情况。

二、接线图

b4f1574dc1ab69fcd7b64b712e86ca2c.jpeg

三、材料清单

WK2124串口扩展模块(SB-P13)

c1530a0fab845a92705b87eb41da1b3d.jpeg

a5a579f8bfc217e62680babd3c733d1b.jpeg

四、完整实例代码

本实例用WK2124模块扩展出4个UART串口,每个UART口只要接收到数据,就回复“I got uartn data”给对方。

--配置Core的USB口为虚拟串口,这样就可以在电脑串口调试中断上收到Print打印的信息了
LIB_UsbConfig("CDC")
--配置WK2124模块开始工作,4个UART扩展口都开启,并且模块占用SPI(CS,MISO,MOSI,CLK)以及D5引脚
--UART1和UART2的波特率为115200,UART3和UART4的波特率为9600
LIB_WK2124Config("B115200","B115200","B9600","B9600","D5")
while(GC(1) == true)
do
--查询Uart1是否收到数据,如果收到就print输出收到的数据
u1_flag,u1_tab = LIB_WK2124UartRecvQuery("UART1")
if u1_flag == 1 then
print("Uart1 Recv:")
--将从uart1串口收到的数据逐个打印出来
for i, v in ipairs(u1_tab) do
print(i, v)
end
--并返回已收到数据的应答信息
LIB_WK2124UartSend("UART1", LIB_StrToTab("I got uart1 data!\r\n"))
end
--查询Uart2是否收到数据,如果收到就print输出收到的数据
u2_flag,u2_tab = LIB_WK2124UartRecvQuery("UART2")
if u2_flag == 1 then
print("Uart2 Recv:")
--将从uart2串口收到的数据逐个打印出来
for i, v in ipairs(u2_tab) do
print(i, v)
end
--并返回已收到数据的应答信息
LIB_WK2124UartSend("UART2", LIB_StrToTab("I got uart2 data!\r\n"))
end
--查询Uart3是否收到数据,如果收到就print输出收到的数据
u3_flag,u3_tab = LIB_WK2124UartRecvQuery("UART3")
if u3_flag == 1 then
print("Uart3 Recv:")
--将从uar3串口收到的数据逐个打印出来
for i, v in ipairs(u3_tab) do
print(i, v)
end
--并返回已收到数据的应答信息
LIB_WK2124UartSend("UART3", LIB_StrToTab("I got uart3 data!\r\n"))
end
--查询Uart4是否收到数据,如果收到就print输出收到的数据
u4_flag,u4_tab = LIB_WK2124UartRecvQuery("UART4")
if u4_flag == 1 then
print("Uart4 Recv:")
--将从uart4串口收到的数据逐个打印出来
for i, v in ipairs(u4_tab) do
print(i, v)
end
--并返回已收到数据的应答信息
LIB_WK2124UartSend("UART4", LIB_StrToTab("I got uart4 data!\r\n"))
end
end


如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

五、代码实验效果

在电脑端同时打开四个串口调试助手软件,这个四个软件通过《USB转TTL模块》和WK2124的4个UART串口连接,连接完成以后即可在电脑上模拟和WK2124的4个UART串口进行数据的收发通信。

实物连接图如下:

fdf87ab34a9ebf10fd07b705cb2e5430.jpeg

电脑端4个串口调试助手软件的截图如下:

我们可以看到每当向WK2124的某个UART串口发送01 02 03 04 05 06数据时,都能收到"I got uartn data"的消息。

3ce5c66d3f1ae1068382c2a18a875747.jpeg

同时在Core开发板所连接的调试助手上,我们可以看到每个UART收到的具体数据:

06b2dc912970d13277946fe85e5c9cc1.jpeg

  • 25
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值