打印

用了6年的单片机,一直不会仿真调试,属于什么情节?

[复制链接]
4344|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzocce|  楼主 | 2019-1-10 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用了6年的单片机,一直不会仿真调试,属于什么情节?

大家好!
我一直都是下载到单片机,直接观察现象,通过现象来判断程序情况。
特别是定时器,PWM 这些,也只是通过示波器来观察频率,周期,定时时间这些来估计哪里有没有弄错。

有的时候要知道变量的话,就是开启串口,用串口把某个寄存器数值,或者变量,通过串口发送出来观察。
或者在某个比较关键的地位,设置一个串口输出,通过串口输个特地的字符来判断。
逻辑比较复杂的时候,需要用到大量的串口输出语句,等调试完,后,再把串口输出语句删除掉。
没有串口的,就用ID翻转的办法。

特别是有没有进入到中断,这个情况,非常难搞。

特别想学会如何使用单片机仿真,能快速的知道程序的故障。

相关帖子

沙发
ayb_ice| | 2019-1-10 15:37 | 只看该作者
难道是你的单片机不支持在线仿真吗

使用特权

评论回复
板凳
mohanwei| | 2019-1-10 16:10 | 只看该作者
串口调试也没毛病啊
公共头文件里:
#define _DEBUG_TO_Uart 1 //调试完把这个宏屏蔽就可以了,没必要到处删串口打印代码
#ifdef _DEBUG_TO_Uart
    #define DBG_Print(x) printf(x)
#else
    #define DBG_Print(x)
#endif

C文件里,所有需要用到printf的地方都用DBG_Print代替

使用特权

评论回复
地板
ningling_21| | 2019-1-10 16:21 | 只看该作者
用的哪种MCU?

使用特权

评论回复
5
gx_huang| | 2019-1-10 16:53 | 只看该作者
起码不是初级工程师的水平了

使用特权

评论回复
6
Prry| | 2019-1-11 00:22 | 只看该作者
特殊场合就得用串口打印,因为有些时候仿真和直接运行的现象不一样。但是,大部分仿真和直接运行是一样的,仿真调试,看内存值、flash值、寄存器值,就可以解决大部分问题。另外,打印结果还可以直接用仿真器(jlink)打印,无需再外接串口。

使用特权

评论回复
7
skw168| | 2019-1-11 08:57 | 只看该作者
可以在中断里面翻转电平;我想,楼主还没有玩过OTP单片机吧

使用特权

评论回复
8
千岁寒| | 2019-1-11 09:23 | 只看该作者
Linux 驱动开发也是有这种调试手段的~没毛病

使用特权

评论回复
9
wwd8888| | 2019-1-11 12:30 | 只看该作者
零几年买过周立功的仿真器,买了也没用过。后来都是1个指示灯或串口调试

使用特权

评论回复
10
hzocce|  楼主 | 2019-1-12 15:04 | 只看该作者
都带仿真功能,问题是不会用是真的。

使用特权

评论回复
11
dsyq| | 2019-1-12 20:14 | 只看该作者
连示波器都用的少了 :)

使用特权

评论回复
12
dirtwillfly| | 2019-1-12 22:59 | 只看该作者
只是仿真调试比较方便而已,最终还是以实际运行时的状况为准

使用特权

评论回复
13
tianxj01| | 2019-1-13 09:20 | 只看该作者
仿真调试,最大的用处是对于那些关键数据处理节点,包括硬件初始化后,配置寄存器内容检查什么的,包括条件处理过程的转向等容易出BUG的地方。
真到了全速运行时候,尤其是那些实时性非常强的系统,单步是没用的,还真的需要用类似串口发送关心的数据来进行检查排错了。

使用特权

评论回复
14
mgarm| | 2019-1-13 10:26 | 只看该作者
我用了18年了,也不会,也不想会,因为我根本不相信仿真,反而会把事情复杂化。

使用特权

评论回复
15
strang| | 2019-1-13 11:20 | 只看该作者
我也很少用仿真,经常用jlink下载程序,就是不习惯用仿真,和楼主情况类似

使用特权

评论回复
16
一叶倾城wwq| | 2019-1-13 13:14 | 只看该作者
不好意思,我也是不太用仿真,也是习惯串口输出

使用特权

评论回复
17
linqing171| | 2019-1-13 17:40 | 只看该作者
以前用的不支持调试的SOC,都做个调试器。
即使GPRS的项目,如果不做个仿真器,不能在keil里面远程通过GPRS单步走,就感觉不踏实。我是不是做仿真器做疯了?

使用特权

评论回复
18
qqq_147258| | 2019-1-14 22:59 | 只看该作者
我觉得只要可以按时交结果,其余都不重要。

使用特权

评论回复
19
hzocce|  楼主 | 2019-1-16 09:25 | 只看该作者
一直想学会,就是不会用,不知道如何去学会?

使用特权

评论回复
20
FAQ| | 2019-1-17 17:01 | 只看该作者
hzocce 发表于 2019-1-16 09:25
一直想学会,就是不会用,不知道如何去学会?

你用的什么单片机型号啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

561

帖子

4

粉丝