Arduino 在标准的 firmata 上写,使用 c# SerialPort.Write()

Arduino write on standard firmata, using c# SerialPort.Write()

所以,我对使用 arduino 非常陌生,我似乎无法理解当我对一个 arduino 执行 SerialPort.Write() 时会发生什么。比如,标准 firmata 中发生了什么功能?

当计算机通过串行端口向 arduino 发送数据时,arduino 接收该数据并将其存储在缓冲区中,直到您的 arduino 代码执行 Serial.read()(或用于读取串行的任何其他变体数据)。读取数据后,缓冲区将被清除。

然而,值得注意的是,usb 通信的处理不是由 arduino 的主芯片(您的代码运行的芯片)完成的,而是在安装在 arduino 板上的单独芯片中专门用于此目的目的。 arduino 库的串行 class 处理主芯片和处理 usb 通信的芯片之间的通信。