我想在arduino语言中使用printf和scanf。
我以这种方式正确运行printf: http://playground.arduino.cc/Main/Printf
但我不能使用scanf。我该如何使用它?
答案 0 :(得分:1)
你需要采取两步的方法。
首先,既然您正在为Arduino编码,而scanf
处理的数据将通过串口进行,那么首先编写例程以读取您的数据的串行端口需要。你会发现这不是一个简单的任务,你将最终得到例程来读取整数,字母等的ASCII字符。
在您拥有读取数据的串行端口的代码之后,将其概括为可以使用可变参数列表调用的方法,这些参数列表将被分析,并且您在第一步中编写的例程将被适当调用。
简而言之,Arduino没有scanf等价物,因为它必须处理串行I / O.
但是,您可以通过将串行数据读入缓冲区然后使用sscanf(扫描字符串上的字符串)来缩短上述工作量,但是您还需要编写执行该操作的包装器。 serial i / o并使用您自己的包装器中的变量参数调用sscanf,类似于您的链接正在执行的操作。