本帖最后由 奔跑的牛 于 2024-3-22 16:39 编辑
原帖: http://forum.nuvoton.com/viewtopic.php?f=33&t=11220
请享用此演示代码 - 于 NuMaker-IoT-M467 平台以實現 USB转串口 (USB VCOM)的任务。
若有進一步詢問, 請寫信到shchen2@nuvoton.com
Nuvoton IoT Platform >> www.nuvoton.com/iot_startup
Nuvoton Forum >> http://forum.nuvoton.com/viewforum.php?f=33
在FreeRTOS中运行一个简单示例 - 以NuMaker-IoT-M467和USB VCOM为例
将非OS示例移植到FreeRTOS可增强嵌入式系统的可扩展性、多任务处理能力和优化资源利用率。在使用RTOS时,重要的是要避免多任务处理情况下的资源访问冲突。一旦排除了资源冲突,将非OS示例作为单个任务执行是一种更快的移植方法。随后,如有需要,可以添加互斥锁来控制资源访问。
在这里,我们利用NuMaker-IoT-M467开发板,迅速将来自M467 BSP的非OS USB虚拟COM示例代码移植到FreeRTOS上执行。
硬件
NuMaker-IoT-M467 開發板
Micro USB 电缆X2
軟件
Keil MDK v5 or later
M460 serials BSP
有两种方式下载M460BSP.
•访问https://www.nuvoton.com/tool-and ... rd-support-package/
单击 M460 系列 BSP 进行下载,然后将 ZIP 解压到指定目录中。
•使用git 工具将https://github.com/OpenNuvoton/M460BSP.git 克隆到您指定的目录中。
创建新项目“FreeRTOS_HSUSBD_VCOM”要快速创建新项目,只需复制现有项目即可。简单的FreeRTOS示例“blinky”可以在“M460BSP\SampleCode\ FreeRTOS\Blinky ”目录中找到。将“Blinky”目录复制到新目录并将其重命名为“FreeRTOS_HSUSBD_VCOM”。现在我们在“M460BSP\SampleCode\ FreeRTOS\FreeRTOS_HSUSBD_VCOM ”中得到一个新项目,将移植到FreeRTOS的非操作系统 USB VCOM 示例位于“M460BSP\SampleCode\ StdDriver\HSUSBD_VCOM_SerialEmulator ”目录中。HSUSBD_VCOM_SerialEmulator示例包含以下源代码文件,
描述.c
主程序
vcom_serial.c
vcom_serial.h
除了main.c之外,与FreeRTOS Blinky示例没有冲突。因此,除了main.c之外,将所有其他 .c 和 .h 文件复制到“M460BSP\SampleCode\ FreeRTOS\FreeRTOS_HSUSBD_VCOM ”。启动Keil并打开新创建的项目“M460BSP\SampleCode\ FreeRTOS\FreeRTOS_HSUSBD_VCOM \Keil\RTOSDemo.uvprojx”将descriptions.c和vcom_serial.c文件添加到项目中。
修改main.c查看main.c,其结构大致如下:
包括标题。
定义优先级和其他常量。
在main()中,配置硬件、创建任务、开始调度。
在prvSetupHardware() 中配置硬件。
定义其他任务和挂钩函数。
因此,参考“M460BSP\SampleCode\ StdDriver\HSUSBD_VCOM_SerialEmulator \main.c”,按照上面的结构进行拆分,并将其添加到“M460BSP\SampleCode\ FreeRTOS\FreeRTOS_HSUSBD_VCOM \main.c”中。请参考下面的代码并添加红色突出显示的部分(抱歉,无法更改代码中的字体颜色)。
添加标题。
添加函数、常量、全局变量和缓冲区的 USB VCOM 定义。
更新 main() 以激活 VCOM 任务
更新prvSetupHardware() 以配置 USB 和 UART
在main.c底部添加任务函数、VCOM 的 IRQ 处理程序
为了方便起见,更新后的示例附在下面。请在“M460BSP\SampleCode\ FreeRTOS \”目录中创建一个名为“FreeRTOS_HSUSBD_VCOM”的目录,并将附件解压到该目录中。
FreeRTOS_HSUSBD_VCOM.zip
http://forum.nuvoton.com/downloa ... 9880f09f46c01a9257b
构建并下载固件单击构建按钮构建示例。
使用 Micro USB 线将 Nu-Link2 连接到 PC。
04 - Nu-Link2.png (139.19 KiB) 浏览 1505 次
下载固件。
使用另一根 Micro USB 电缆将 HSUSB 连接到 PC。
现在您可以在 Windows 设备管理器中查看两个虚拟 COM 端口。
使用终端工具分别打开Nu-Link VCOM和M467 HSUSB VCOM。
现在,您可以从 Nu-Link VCOM 发送数据并在 M467 HSUSB VCOM 上接收数据,反之亦然。由于闪烁任务仍然存在,您还会看到板上的 LED 同时闪烁。好好享受。
原帖: http://forum.nuvoton.com/viewtopic.php?f=33&t=11220
请享用此演示代码 - 于 NuMaker-IoT-M467 平台以實現 USB转串口 (USB VCOM)的任务。
若有進一步詢問, 請寫信到shchen2@nuvoton.com
Nuvoton IoT Platform >> www.nuvoton.com/iot_startup
Nuvoton Forum >> http://forum.nuvoton.com/viewforum.php?f=33
|