我的想法是:预先在MCU的flash里设置一块规模不大的表格,MCU预置这样一个功能让dac输出按照这个表格变化(最大预设100个点,实际变化只需要50个点左右就够),PC与MCU通信,启动这一功能,同时PC接收反馈的模块输出值(与dac输出值肯定是一一对应的了),找到最合适的模块输出值的位置,就可以找到最合适的dac输出值。
其他同事提出另一个想法:让MCU完全在PC控制下工作,每一次PC控制MCU,让dac输出一个值,pc得到对应反馈的模块输出值,并判断与最佳输出(确定的)相差多远,相差远则增大调整步长,近则用较小的调整步长;按照这个步长再调整dac的输出,再一次得到模块输出值,作判断。。。如此循环,直到达到模块最佳输出值,此时对应的dac输出值即是最合适的。
我觉得我的想法通用性更好,而同事的想法可能要求更高的“智能性”,也要求更多的循环和中断;如果在一致性较好的情况下,我的想法可能更容易实现;而同事的想法可能需要更多的资源。不知道我对此的判断是否有道理?
3x!
//bow