02-基于ART-PI开发板创建USB CDC 虚拟串口设备

1、概述

        在“01-基于ART-PI-创建第一个RT-Threaad-软件工程”一文中,我介绍了如何创建一个基于RT-Thread的软件工程,在本文中,我将基于这个创建的软件工程添加一个USB CDC虚拟串口设备。

        考虑到RT-Thread内核版本不同,在创建软件工程时可能会出现一些意外的问题,我补充说明一下我所使用的软件编程环境。

序号

资源名称

说明

备注

1

RT-Thread Studio 2.2.7

睿赛德官方提供的软件集成开发环境,可自行下载安装。

2

ART-PI

一款基于STM32H750芯片的开发板,可自行上网检索关键字找到相关的资料,某宝可以买到。

        此开发板已经板载STM-LINK调试下载器,无需再使用Jlink、st-link或其它的调试下载器。

2、创建USB CDC虚拟串口设备

        第1步,打开RT-Thread Studio。

        见图2-2-1,RT- Studio启动成功。

        见图2-2-2,点击“File->Import”菜单进入软件工程导入界面。

        见图2-2-3,选择导入的软件工程类型,然后点击”Next“进入下一个步骤。

        见图2-2-4,选择软件工程所在的文件目录,选择软件工程,然后点击”Finish“完成软件工程的导入。

        见图2-2-5,软件工程导入成功。

        第3步,编译软件工程。

        见图2-3-1,点击选择软件工程,按下”CTRL+B“快捷键编译软件工程。

        见图2-3-2,软件工程编译中,稍等片刻。

        见图2-3-3,软件工程编译完成。

        第4步,下载固件到目标板中运行。

        见图2-4-1,点击图标下载代码。

        见图2-4-2,代码下载中,稍等片刻。

        见图2-4-3,代码下载成功,并运行到了main()函数入口处。点击图标全速运行代码。

        第5步,PC端启动Putty查看固件运行结果。

        见图2-5-1,启动Putty成功。

        见图2-5-2,选择ART-PI在在电脑端虚拟出的USB串口号,然后点击”Open“进入Putty的工作界面。

        见图2-5-3,Putty界面已经接收到了ART-PI发送过来的信息。

        第6步,启动STM32Cub,用于配置MCU。

        见图2-6-1,双击”CubeMX Setting“菜单项启动配置界面。

        见图2-6-2,STM32CubeMX启动中,稍等片刻。

        见图2-6-3,STM32CubeMX启动出现提示界面,选择”Yes“进入下一步。

        见图2-6-4,启动进行中,继续等待。

        见图2-6-5,STM32CubeMX启动完成。

        第7步,配置USB接口。

        见图2-7-1,配置好USB接口。

        第8步,配置系统时钟。

        见图2-8-1,将系统时钟配置为外部高速时钟模式。

        见图2-8-2,ART-PI使用的外部晶振为25M,已经通过合适的配置将系统时钟配置为480M。

        见图2-8-3,已经将所有的频率配置为最大值。

        见图2-8-4,已经为USB端口配置了48M时钟源。

        见图2-8-5,USB接口的时钟已经被正确地配置为48M。

        第9步,设置STM32CubeMX输出的软件工程类型。

        见图2-9-1,软件工程的输出类型设置为STM32CubeIDE,这与RT-Thread Studio相同,都为基于gnu arm-gcc类型的软件工程,STM32CubeIDE与RT-Thread Studio二者也都是基于Eclipse进行二次开发的集成软件开发环境。

        第10步,使用STM32CubeMX生成代码。

        见图2-10-1,点击生成代码。

        见图2-10-2,出现提示信息,点击”Yes“继续。

        见图2-10-3,代码生成中,稍等片刻。

        

        见图2-10-4,代码生成完成,点击”Close“。

        见图2-10-5,点击 X 关闭STM32CubeMX。

        见图2-10-6,RT-Thread Studio出现提示信息,点击”OK“。

        第11步,编译软件工程,确认软件工程是否有异常。

        见图2-11-1,软件工程编译完成,未出现异常。

        第12步,下载代码运行固件。

        见图2-12-1,Putty窗口可以接收到固件运行的LOG信息。

        第13步,在RT-Thread的软件工程中,启用USB选项。

        见图2-13-1,打开board.h文件,找到这句代码行:

                /*#define BSP_USING_USBDEVICE*/        

        修改代码,使能USBDEVICE设备的配置选项。

        见图2-13-2,代码修改完成。

        第14步,配置USB设备的类型。

        见图2-14-1,双击进入配置界面。

        见图2-14-2,等待启动完成。

        见图2-14-3,配置界面启动完成。

        见图2-14-4,移动鼠标至某一个图标处,将出现浮动菜单,点击”config“进入下一个界面。

        见图2-14-5,滚动界面,找到USB配置选项。

        见图2-14-6,找到了USB配置项。

        见图2-14-7,使能USBDEVICE设备,设备类型为USB CDC。然后点击左上角的保存配置结果。

        见图2-14-8,软件工程已经被成功更新。

        第15步,编译软件工程。

        见图2-15-1,软件工程编译成功。

        第16步,下载固件到目标板中运行。

        见图2-16-1,在PC端已经枚举出了一个USB CDC串口设备COM43。

        第17步,USB CDC通信测试。

         见图2-17-1,编写一段测试代码,通过USB CDC向PC端发送一个字符串。然后编译并下载到目标板运行。

         见图2-17-2,PC端的串口助手已经接收到数据,注意串口助手的DTR选项需要勾选上,否则串口助手不会接收数据。

        至此,已经在ART-PI开发板上基于RT-Thread成功创建了一个USB CDC 虚拟串口设备。

3、附件:测试代码

int main(void)
{
    char test_str[] = "vcom is ready!\r\n";
    rt_err_t res;
    rt_device_t vcom_dev;

    while (1)
    {
         rt_thread_mdelay(1000);
         vcom_dev = rt_device_find("vcom");
         if( vcom_dev != RT_NULL )
         {
             res = rt_device_open(vcom_dev, RT_DEVICE_OFLAG_RDWR);
             if( res == RT_EOK )
             {
                 rt_device_write(vcom_dev, 0, test_str, strlen(test_str));
                 rt_thread_mdelay(10);
                 rt_device_close(vcom_dev);
             }
         }

    }
    return RT_EOK;
}

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值