单片机(Single-Chip Microcomputer)是一种集成电路芯片,内部集成有CPU、ROM、RAM、定时器、计数器、AD转换电路等功能模块。也可以理解为微型计算机系统,广泛用于工业控制、智能仪表、通讯设备、导航系统、家用电器、电子玩具、医疗设备等领域。它从最初的4位、8位、16位发展到了32位、64位等高段位的数据处理能力。
在利用单片机编程的时候,会遇到各种意想不到的问题。接下来小编就讲解下,单片机下载完程序之后,无法运行怎么办?该如何解决呢?
出现以上现象,不要着急,我们可以按照以下几个方面进行排查。
||硬件电路方面
1、查看我们所画的原理图是否有问题,并且找一块有问题的电路板。使用万用表测试单片机最小系统的电压是否正确一般为3.3V。
如果正确电压正确此时我们可以尝试使用示波器查看电压是否一个稳定的波形,比如电压是一个矩形波方波、锯齿波等。
2、检查晶振的焊接情况,如果晶振未正确焊接或者晶振本身有问题,此时就需要重新焊接完好的晶振,晶振就如我们人体心脏一样,为单片机提供“动力源”。
3、检查复位电路是否正确,如果电路没有正确复位会导致单片机无法正确运行,我们可以检查单片机的复位电路的电平是否正确。
4、检查启动模式,我们知道单片机启动有外部Flash、系统内存、SRAM等模式。
||软件方面
在排除硬件方面之后,如果还是无法正常运行,此时就需要转向软件的方面。
1、单片机无法启动,可以先检查程序是否损坏,此时可以进行擦除重新下载;
2、程序分为两段bootloader和主程序,但是实际却只下载了主程序,开始地址并没有引导程序。
3、程序的下载地址以及中断向量需要重新设置,具体方法如下所示(以IAR为例):
打开电脑桌面的IAR软件。
右击工程文件。
选择“Options...”选项。
点击“Linker”选项。
勾选“Override default”选项,并且点击“Edit...”。
我们可以查看中断向量表、程序的下载地址、堆栈的空间分配等。如图中的“Vector Table”、“Memory Regions”、“Stack/hEAP Sizes”等选项。设置完成之后,点击界面右下角的“Save”。
||总结
总而言之,小编认为如果遇到程序下载完成之后,无法运行。那么,我们可以按照上述步骤先排查硬件,然后再排查软件,最终,找到问题点出现在什么地方。文章的最后,大家如果有什么好的建议欢迎在评论区留言,小编会积极地回答,大家共同的成长与进步。
注:本次演示机型为小新14Pro,系统版本为Windows 10,应用程序版本为IAR 8.40.1。
更多核心科技请关注两晨科技,读者朋友们,再会!
—END—
编辑 | 李小
审核 | 张附