从串行总线读取数据

时间:2018-01-16 19:32:53

标签: vba excel-vba arduino excel

我有一个Arduino板,它有一个脚本可以读取其中一个模拟端口并将值转储到USB(在我的例子中,它是COM4)。

我希望能够在VBA中读取它并将其转储到Excel中。这只是第一步......概念证明,如果你愿意......

我安装了一个名为modCOMM(http://www.thescarms.com/vbasic/CommIO.aspx)的模块,其中有一个名为CommRead(intPortID, strData, ingSize)的函数。

我确信我在这里看不到一些简单的事情......

有没有人有这方面的经验?任何有关教程的提示或指示都会非常有用。

1 个答案:

答案 0 :(得分:0)

所以我没有Arduino,但从我看到的,你应该试试这个:

Sub ReadDataFromPort()
Dim PortID as Integer: PortID = 1
Dim Status as Long
Dim strData as String

Status = CommOpen(PortID, "COM4", "baud=9600 parity=N data=8 stop=1")
If Status <> 0 then
MsgBox("Error")
Exit Sub
End IF

Status = CommRead(PortID, strData, 64) 'last Parameter = Number of Bytes to read
If Status > 0 then 
'Process Data
MsgBox(strData)
Elseif Status < 0 then 
MsgBox("Error")
end if

Call CommClose(PortID)
End Sub

此外,还有一些示例代码随文件一起提供。你可以查看一个工作示例,并查看.bas文件,看看每个函数的作用。