一般我们初期方案确定下来后,我们可以很快写完程序。如果时间比较宽裕的情况,我们可以使用PROTEUS和MATLAB进行仿真,那些简单直接的控制可以通过PROTEUS简单的模拟,使用LED观察IO,输入用开关给电平等简单操作模拟下。当你的程序直接跑PROTEUS仿真时,有问题。查看哪一块有误,就单独取这块程序进行测试,确保无误后再将其他程序加入,看是否哪一块对其影响。
程序的测试也可以进行黑白盒测试,对你写的函数单独测试,输入测试,确定测试情况是符合你的输入情况,再测输出看是否符合,出现问题情况再内部分析测试。完整性测试,确保模块测试无误后,主要是各函数之间输入,输出关系的测试。一旦发现哪一块有问题,要将其相关联的变量和关系进行测试,取各种关联的极端情况或者赋值运算,看受影响的模块是否正常,最后确定影响的因素进行分析。
如果这些应用方面的变量和关系运算都正常,查看初始化,这个就需要细读DATASHEET,或请教这方面的专家,对初始化的产生的情况分析。
另外一些复杂运算和模型,可以通过MATLAB进行仿真观察变化曲线,可以对实验结果进行预测,有助于调试。
最后我们仿真中参数的观察可以通过仿真软件WATCH口观察,也可以通过自己的板子进行显示,一些IO口电平的观察,我们也可以利用仿真中的示波器插件观察。
关于PID调节,模糊算法,数学模型的调试和MATLAB仿真,我推荐本书《基于模型的设计——MCU篇》,虽然写的还不是很详尽,但有些方法值得学习 |