WK2124 扩展 4 个 UART 串口
本文基于 FlexLua 低代码单片机技术,无需复杂单片机C语言开发。即使新手也可很容易用FlexLua零门槛开发各种功能丰富稳定可靠的 IoT 硬件,更多学习教程可参考 FlexLua 官网。
一、WK2124介绍
WK2124是SPI接口的4通道UART扩展器件,可以通过SPI总线扩展出4个串口(UART)。 并且每个串口的波特率可以单独设置。所以基于WK2124模块,我们就可以很容易扩展出最多4个串口,来满足一些应用场景的特殊需求,比如需要接多个RS232接口,多个RS485接口,或者多个TTL串口传感器模块的情况。
二、接线图
三、材料清单
WK2124串口扩展模块(SB-P13)
四、完整实例代码
本实例用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串口进行数据的收发通信。
实物连接图如下:
电脑端4个串口调试助手软件的截图如下:
我们可以看到每当向WK2124的某个UART串口发送01 02 03 04 05 06数据时,都能收到"I got uartn data"的消息。
同时在Core开发板所连接的调试助手上,我们可以看到每个UART收到的具体数据:
领取专属 10元无门槛券
私享最新 技术干货