项目背景:
我的板子是野火H743挑战者,用了以太网读取雷达数据,然后用两个IO口控制一个继电器,这个继电器连接的是一个举升电机,烧录器用的是DAP,搭载的是FreeRTOS实时操作系统。系统内存在两个任务,一个任务读取雷达数据然后进行处理,一个任务负责控制IO口进而控制电机。单片机5V供电。
情况如下:
1.单独运行读取雷达数据任务,正常;
2.单独运行电机任务,正常;
3.在连接烧录器的情况下,一起运行读取雷达数据任务和电机任务,正常;
4.在没有连接烧录器的情况下,一起运行读取雷达数据任务和电机任务。过一会,以太网端口那个灯就不亮了,通过调试串口输出的信息也没继续显示了。但是电机任务还是正常运行。
5.在连接烧录器的情况下,两个任务正常运行。只要一拔烧录器,以太网端口的灯就停止了。
我的猜想是IO口控制那个继电器,抢了以太网的电压,所以以太网不正常运行。而烧录器刚好提供了电压,所以让他们可以一起运行。后来我又发现DAP烧录器那根3V3的线根本就没接上,就排除了电压的原因。
后面通过咨询客服得知。仿真器不能只连着板子而没有连到电脑,即要么仿真器同时连着板子和电脑,要么仿真器拔了板子这边。仿真器只插着板子时会让系统一直复位。
因为板子上的DAP插口不是很好拔,所以一般都是直接拔电脑这边的USB口,导致出现这种问题。但是为什么只影响了以太网而没有影响电机,我也没弄清楚。之前做调试,也是直接拔电脑这边的USB口,也没出现过问题。
所以只是解决了问题,但是没弄懂具体原因。