零基础开发USB转串口

2020-12-14 15:22:26 浏览数 (1)

前言

shineblink core 开发板(简称Core)的库函数支持USB通信功能,所以只用几行代码即可实现USB通信功能。

在这里插入图片描述在这里插入图片描述

Core采用的Soc芯片是Nordic半导体公司的Nrf52840芯片,内置USB控制器,所以我们可以通过软件的方式将Core改造成USB转Uart串口透传工具,方便我们在开发中使用。

一、PC端驱动安装

如果是Win10电脑则不用考虑驱动问题,当Core连接电脑后系统会自动安装。如果你的电脑是Win7系统,在<a href="https://yunpan.360.cn/surl_yPvRUHuUzHv" target="_blank">此处</a>下载驱动。然后按下面的步骤完成Win7系统的USB CDC ACM驱动安装。

在这里插入图片描述在这里插入图片描述

二、完整代码

本例中采用Uart0做为转接口,引脚对应Core电路板上的Rx0,Tx0引脚。

代码语言:txt复制
--配置Uart0串口波特率为115200并开始工作
LIB_Uart0Config("BAUDRATE_115200")
--配置USB以CDC模式开始工作
LIB_UsbConfig("CDC")
--开始大循环
while(GC(1) == true)
do
    --查询是否收到来自USB端口的数据,如果收到就通过Uart0转发出去
	usb_recv_flag,usb_recv_tab = LIB_UsbCdcRecv()
	if usb_recv_flag == 1 then --收到一包USB数据
        LIB_Uart0Send(usb_recv_tab)
	end
    
    --查询是否收到uart0数据,如果收到就通过USB转发给PC
	uart0_recv_flag,uart0_recv_tab = LIB_Uart0Recv()
	if uart0_recv_flag == 1 then --收到一包Uart数据
		LIB_UsbCdcSend(uart0_recv_tab)
	end
end

<small>如果感兴趣,上面代码中出现的LIB开头的库函数可以在<a href="../api/ApiDoc.html" target="_blank">API文档</a>中通过<kbd>Ctrl</kbd> <kbd>F</kbd>查询。</small>

0 人点赞