我正在为Scilab (类似于MATLAB的软件)仿真环境工作一个图形块。应该有叫做AI (模拟输入),AO,DO的模块。此外,还将有两个程序: 1)在Scilab一侧,一个用于发送和接收数据;2)在Arduino一侧,一个用于发送和接收数据。
现在,我正在编写Arduino端代码。它的代码应该从6个输入读取电压值,并通过串行将它们发送到Scilab,当它从Scilab获得数据时,同时将1/0写入其输出。在我的理解中,发送/接收的数据应该包含有关管脚编号(以了解它应该影响哪个管脚)和值本身的信息。此外,它应该同时阅读和接收。
你知道我该怎么做吗?如果能帮上忙,我们将不胜感激。谢谢。
发布于 2012-01-26 00:56:48
您可以使用timer interrupt读取值并通过串行方式发送它们,并像往常一样在loop()中处理来自Scilab的命令。
我不能100%确定在Serial.read()中是否可能会因为被中断而出现问题。在这种情况下,您可能必须在读取请求时禁用中断(在使用Serial.available()之前检查是否有要读取的内容)。
https://stackoverflow.com/questions/8996675
复制相似问题