写在前面
通常工程师在做产品开发和程序调试的时候会通过仿真器进入仿真模式来获得芯片运行的结果,从而判断程序编写的是否正确。但是有些特殊的情况仿真器的作用就不大,例如下面这几种情况:
- 华大MCU芯片进入深度休眠后,仿真器接口将会关闭,工程在调试状态会因为仿真接口的关闭退出调试状态,芯片唤醒后工作的情况将观察不到;
- 需要实时观察芯片数据的情况,如采集的电池实时电压情况;
- 不方便接仿真器的情况,如运动小车项目中对车身状况的监控等;
- 仿真器管脚已经被占用的情况;
- 程序执行错误的情况等。
遇到仿真器不方便调试的时候我们一般会利用板子上的某个硬件做为输出,通过观察这个输出来判断程序运行的是否正常。如果程序运行到某一状态可以点亮板子上的LED灯,或翻转下某个IO,如果板子上有屏那就更好,直接可以在屏上显示自己想要知道的内容。还是一种方法就是使用UART把数据传输出去。如果UART接了无线模块还可以进行远距离的观测,就像上面提到的运动小车项目。当然使用UART只做普通方式的传输数据的话,数据是不包涵任何格式内容的,我们要解读的时候会费点力气。那有没有什么好办法,让输出的数据直观明了呢?没错,就是用我们学习C语言时候的老朋友printf来做格式化输出。
|