举个例子 , 电机控制任务读入最新的模拟电流和电压测量值 , 然后通过PID控制器运行 。 PID控制器将为新的电机状态提供输出 。 根据控制器的设计 , 每次通过PID控制器可能不会在相同数量的时钟周期内运行 。 如果考虑到在PID计算过程中触发中断的可能性 , 时间值的范围可能会很大 。 结果是电机输出永远不会同时更新 , 它会稍微移动和抖动 , 这可能会影响电机的响应 。
嵌入式开发人员最大限度降低抖动的一种更可靠的方法是将步骤改为:
输出以前的结果
检索新数据过滤/处理数据
在这种情况下 , 新的输出总是在循环开始时 , 在进一步处理或其他不确定性活动发生之前发送到电机 。 因此 , 我们正在对可能稍旧的数据采取行动 , 但我们可以考虑这一点 , 并大幅降低我们的抖动 。
结论
【传感器|嵌入式开发:以数据为中心的软件设计的3个技巧】当你分解我们为设计和实现嵌入式软件所做的工作时 , 一切都归结于数据 。 嵌入式软件只不过是以一种确定的方式集体处理、存储和输出数据 。 嵌入式开发人员遵循以数据为中心的软件设计方法将会产生一个突出数据最重要的部分的架构 。 你会发现这个设计是高效的 , 有效的 , 并且不会被现代的设计模式和填充物所膨胀 。 想要一个优秀的软件设计 , 跟着数据走就行了 。
- 零点机器人无需API开发连接红圈CRM,实现客户数据自动同步
- 传感器|用Text函数提取时间中的时分秒技巧,案例解读,收藏备用!
- 充电器|Web前端:React对比Vue,哪一个最适合开发人员?
- 图像传感器|Fitbit发布Sense 2、Versa 4和Inspire 3可穿戴新品
- 为帮不识字的母亲找药店,他开发了一个导航小程序
- 传感器|神秘传感器是这个,华为Mate 50 Pro应用多项黑科技
- javascript|Web前端:React对比Vue,哪一个最适合开发人员?
- 物联网|嵌入式开发:加速物联网设备的开发
- 软件|已经生效!美国断供EDA软件!中国企业不能设计传感器了
- 腾讯|安全教育APP开发应该具备哪些功能?