我正在开发一个具有不同输出功能(数字输出、串行、模拟等)的嵌入式系统。我试图找出一种干净的方法来传递许多控制这些函数的变量。
我不需要太频繁地传递它们,但我希望有一个函数可以读取输入数据(在这种情况下来自 TCP 网络),然后解析数据(IE,第 3 个字节包含8 个数字输出的状态(根据该字节中的哪个位是高位或低位)),并将其放入一个变量中,然后我可以在程序的其他地方使用。
我希望该函数与 main() 函数分开,但这样做需要将指针传递给它要写入的大约 20 个变量。我知道我可以使变量成为全局变量,但是我试图通过将函数传递给函数来使函数被允许编辑该变量时变得明显,从而使调试变得更容易。
我最好的想法是一个结构,只需传递一个指向它的指针,但不确定是否有更有效的方法,特别是因为实际上只有一个函数需要一次访问所有函数,而大多数其他函数只需要将存储在这组状态变量中的部分信息。
那么无论如何,是否有一种干净的方法可以一次在需要编辑的函数之间发送许多变量?