前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零基础开发USB转串口

零基础开发USB转串口

原创
作者头像
shineblink
修改2020-12-14 15:22:26
2K0
修改2020-12-14 15:22:26
举报

前言

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>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、PC端驱动安装
  • 二、完整代码
相关产品与服务
物联网通信
腾讯云物联网通信(Internet of Things Hub, IoT Hub)旨在提供一个安全、稳定、高效的连接平台,帮助开发者低成本、快速地实现“设备-设备”、“设备-用户应用”、“设备-云服务”之间可靠、高并发的数据通信。物联网通信平台不仅可以实现设备之间的互动、设备的数据上报和配置下发,还可以基于规则引擎和腾讯云产品打通,方便快捷地实现海量设备数据的存储、计算以及智能分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档