UE4中串口通信
记录下以前的一个项目中用到的串口通信
当时需求是一个HTC的VR项目,但是VR中的交互不再是HTC的手柄了,需要外接一个其他的硬件设备,通过获取那个硬件设备中发来的数据在VR中应用展示出来。因此是通过串口来后去外接设备的数据,其实说白了像HTC,COSMOS这种VR设备通过数据线链接电脑来传输数据展示的设备,都是通过串口来进行通信的,因此串口通信使用范围还是很广泛的。
接下来说下我使用的脚本来自于:https://github.com/RVillani/UE4Duino/releases/tag/2.2.5
提一句,脚本本人测试是4.23和4.24可用,其他版本还没有过多的进行测试。其他版本如果遇什么问题或者报错,可能需要自行调整下代码。(代码会在最后提供)
首先需要将头文件跟源文件放在项目的Source的项目里,或者自己随便新建一个类然后把.h和.cpp中的代码对应的复制进去,然后编译下,等编译通过就行。(所有方法都可以在蓝图中调用)
需要注意的是要一开始(在begin里)打开串口,Port==端口号,BaudRate==波特率,然后使用时需要判断一下变量Serial是否有值,如果没值请查看是否链接上,或者端口号是否填写正确。打开串口有两种方式,见下图:


需要注意的时,退出应用时或者你切换Level后不需要串口了一定要调用ClosePort,否则不关闭的话,这个会一直被占用着,除非你直接拔掉数据线或者关机,否则不会自动关闭。
具体的内容和注意事项就这些,下面直接上Git上的代码。
以下是Serial.h的代码
以下是Serial.cpp的代码
本篇内容就这些,最后给初学者或者初次接触的人员一个提示,如果需要给外部的设备写入代码,可以利用Arduino软件,内容是用C++编写的(emmm我也只用过这个软件)