本人做的项目,需要将在C++中所运行好的int数据(如num)发送到Arduino开发板中,以实现开发板在不同数据的情况下进行不同的响应.因为用的OpenCV函数库,所以不能直接使用ArduinoIDE写。 只知道使用串口通信,但是具体的步骤和代码之类的不知道怎么弄。 求大神指教!
这个可以自定义串口数据格式实现,比如定义串口接收8字节为一帧,在每一帧数据中有帧头,变量序号,变量值,帧尾四部分。如:
串口节后和发送都按照此格式编码和解析即可。当然以上格式只是举例,具体实现自行根据需求相应修改即可。
至于实现该通讯的代码,主要是串口数据编码和解析,定义一个8字节的结构体,每次把相应数据放入结构体,统一发送即可。
这个其实就是上位机和Arduino联机通信的具体应用,需要看二者间有哪些可用的端口(比如串口、SPI、I2C等等),
最常见的就是串口(速度有限),在网上有很多例程。
这里需要注意的是数据写入的方向,是上位机向下位机发生,
为了有效实施,必须有一定的数据通信约定(协议),如果很简单,数据宽度不大(比如就8Bit一次),可以直接发送,
但稍微复杂,最好是先定义一个协议(这个数据通信协议无论那种实际的联机通信手段都应该采用)。