单片机程序怎么在电脑上调试?用什么软件好?
展开全部
单片机可以实现在线调试程序,通过软件设置断点,进行单步调试,这样可以看到单片机是如何一步步执行程序的,从而快速找到问题,解决问题。以Keil和IAR为例介绍一下单片机的在线调试。
1.keil
的在线调试功能
以STM32单片机为例,所需要的软件为Keil MDK,仿真工具为J-link,当程序编写完成后,编译通过,通过J-link仿真工具连接电脑和单片机板子,一定要安装好J-link的驱动,在Debug界面选择J-Link,并正确设置Setting界面的下的器件型号,如下图所示。
设置好后,点击工具栏的Debug按钮,就进入在线调试模式了,这时候会出现调试工具栏,如下图所示。
在怀疑有问题的地方设置断点后,运行单步调试,单片机就可以一步步的执行了,在watch窗口可以选择查看单片机的GPIO等寄存器,实时了解各端口和变量的变化粗败情况。
2.IAR
的在线调试功能
以STM8单片机为例,以IAR for STM8为例,工具为ST-Link,正确安装好ST-Link的驱动,程序编译通过后,执行Debug and download按钮可以开启在线仿真模式,如下图所示。
在有问题的地方设置断点,执行全速运行后,会在断点处停下,可以执行单步调试功能进源慎入函数,再一步步执行。
这样也可以很容易的找到程序bug。
3.使用串口打印进行调试
如果单片机不支持在线仿真功能,可以通过串口打印的形式输出调试信息。首先要把串口打印程序调试通,在有问题的地方通过给变量设置不同的值然后打印,这样也可以很直观的判断程序的运行情况。所需要的工具为USB/TTL。
由于篇幅有限,无法详细描述,大家可以根据以上信息搜具体的教程。
以上就是这个问题的回答,感谢留言、评论、转发。
更多精彩内容请关注本头条号:玩转嵌入式。感岩裂颤谢大家。
1.keil
的在线调试功能
以STM32单片机为例,所需要的软件为Keil MDK,仿真工具为J-link,当程序编写完成后,编译通过,通过J-link仿真工具连接电脑和单片机板子,一定要安装好J-link的驱动,在Debug界面选择J-Link,并正确设置Setting界面的下的器件型号,如下图所示。
设置好后,点击工具栏的Debug按钮,就进入在线调试模式了,这时候会出现调试工具栏,如下图所示。
在怀疑有问题的地方设置断点后,运行单步调试,单片机就可以一步步的执行了,在watch窗口可以选择查看单片机的GPIO等寄存器,实时了解各端口和变量的变化粗败情况。
2.IAR
的在线调试功能
以STM8单片机为例,以IAR for STM8为例,工具为ST-Link,正确安装好ST-Link的驱动,程序编译通过后,执行Debug and download按钮可以开启在线仿真模式,如下图所示。
在有问题的地方设置断点,执行全速运行后,会在断点处停下,可以执行单步调试功能进源慎入函数,再一步步执行。
这样也可以很容易的找到程序bug。
3.使用串口打印进行调试
如果单片机不支持在线仿真功能,可以通过串口打印的形式输出调试信息。首先要把串口打印程序调试通,在有问题的地方通过给变量设置不同的值然后打印,这样也可以很直观的判断程序的运行情况。所需要的工具为USB/TTL。
由于篇幅有限,无法详细描述,大家可以根据以上信息搜具体的教程。
以上就是这个问题的回答,感谢留言、评论、转发。
更多精彩内容请关注本头条号:玩转嵌入式。感岩裂颤谢大家。
展开全部
KEIL C. 最好用串口当做调试数据通道,电脑上蠢埋串口助手或自编软件。仿真那些看着高大上,其实不实用,因为单片机程序都很短,且都与硬件接口打交道,仿毕档洞真真不手枯了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用KEIL编程,在需要观察数据的地方用串口发送数据。观察是否符你的逻辑需要。不过有些快速连差桐银轮芹续过程中间不能插入串口发送指令,否则过程被中断。那么就将数据虚宴存入数组,过程结束后再输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询