本身光程序一般是不能直接烧毁硬件的,但如果程序运行出错,导致在硬件上,某些连接上出乎意料,就很有可能导致出现某些位置有短路、断路等现象,出现电流过大或电压过大的情况,这些情况都有可能烧毁硬件。
比如程序控制2个GPIO,再控制由此控制2个继电器开关,正常情况下2个开关严格是依次打开,不能同时打开,否则就短路,烧毁硬件,这时如果程序设计上有问题,某种原因导致同时打开的情况发生了,最终出现了硬件烧毁现象,就算是程序烧毁硬件。
这也是有时软件设计中要模拟测试一些关键端口信号输出的重要原因,因为可以从这里就可以检测信号是否正确,而不是直接上硬件测试,而出现硬件烧毁,毕竟模拟测试的成本比硬件成本低太多。
当然,也不是说程序有错必然会烧硬件,有些关键硬件本身在硬件设计上也可以有容错设计余量,但这些都是要花费成本的,有时成本还特别巨大,所以要均衡的考虑。