同事、
我意识到这不仅仅是 C 语言问题、而是 TM4C 问题... 或者至少是一个"嵌入式 c"。 但我将假定这里会出现一些很好的帮助。
假设我创建了一个库来处理测量特定传感器。 该传感器具有可在 sensorStruct_t 结构内组织在一起的参数、例如:
typedef 结构 { uint32_t sensor.outbase; uint32_t sensor.outpin; uint32_t sensor.inbase; uint32_t sensor.inpin; uint32_t sensor.readrate; 浮动传感器温度; float sensor.湿度; } sensorStruct_t;
我发现、大多数用于任何类似用途的库往往具有"初始化"调用。 如果我可以使用能够访问上述传感器所有元件的应用、初始化可能类似于:
sensorStruct_t sensorData1; sensorInitialize (&sensorData1);
这是干净的、有组织的。 但我不确定如何管理各种传感器...
我已经使用的一种解决方案是预先确定库中的最大结构数、而不是从应用程序传递指针、传递实际参数并让库端管理某种"结构数组":
localSensor = sensorInitialize (outbase、outpin、inbase、inpin、readrate);
其中 localSensor 将只是函数返回的地址的指针。 初始化函数将传感器添加到"下一个可用插槽"中。
再说一次、可能是 C 编程类12 (我跳过了它)、但老实说、我不知道初始化"尽可能多的传感器..."的最佳方法。 现在、我实际上已经在库端创建了最大数量、并浪费了未使用的存储器位置。
我希望这个问题能得到正确的解释、因为用一个简洁的示例来说明清楚的一点有点困难... 对具体文献的任何评论或指导都是最受欢迎的。
此致
布鲁诺