开发工具带来的进度影响

发布时间:2013-10-22 15:07    发布者:绝对好文
关键词: 开发工具 , IDE
作者:tietao

前几天,在以前的一个修改了一些电路的板子上编写一段新的代码的时候,发现以前正常运行的一段程序,竟然不能正常运行了。现象很像程序死掉了,卡在某处没有运行。但是,在以前的没有修改过的板子上运行一切正常。

于是检查了板子上修改的部分,发现并没有哪些地方会影响到单片机的正常工作,甚至于让单片机死机。而外部电路的修改,也并没有太多。实际测量发现,之前单片机IO口为高电平,板子修改后成为了低电平。而这个端口正好是,程序中的一个中断口。因为这个端口是低电平,使用IDE调试发现,程序一直进入这个外部中断服务程序,其他程序没有时间执行。

于是,边修改了IO口的中断模式设置,将原来的下降沿+低电平触发中断的方式,修改为下降沿触发中断。但是,奇怪的是,一开始的竟然没有起到作用。

感觉这样有些不应该,于是乎又准备开始怀疑编译器了。便查看了汇编代码,没有什么问题。只好,再回去看看Datasheet。突然,Datasheet上有一段话,引起了注意,“这个寄存器,只有在中断禁能情况下,才可以设置”。突然想到,是不是自己在不满足这个情况的条件下设置了这个寄存器,才导致了失败。

于是单步调试看看,发现在使能全局中断后,修改中断方式的寄存器的条件不成立了。于是将这个设置修改到,使能全局中断之前。发现可以了。

同时借助于,这个过程也发现了以前在定时器上的一个缺陷。是在设置寄存器时,没有注意先后顺序造成的一个现象——每次设置时 ,会触发一次定时器中断。正常的是,应该先设置控制寄存器,之后再设置其他寄存器。否则,设置其他寄存器的时候,有些设置会导致触发一次定时器中断。

而能发现这些问题,很大一部分原因在于换了新的IDE。原来的程序在开发时,由于时间紧迫,直接找了以前公司在用的IDE,但是在用的过程中发现,修改代码,调试下载,都很不方便。甚至于,很多时候修改一次代码,按一个Ctrl+S保存就要等待将近30S。调试的时候,一个单步运行,能运行将近1min,才结束。虽然,那个时候感觉效率很低。但是由于不了解,有什么别的IDE可以替代当前用的。而当时赶着将项目做完,也没有去找别的IDE。于是只能忍受着。

而再次,遇到问题要调试时。果断先找了下,发现有其他IDE同样可以开发这款单片机。于是先安装试试,结果下载,安装与熟悉新的IDE花了将近3个小时。距离下班只有一个小时多一些了。

马上建立新的工程,导入原有的代码,进行调试。发现新的IDE的编辑效率很好,而且调试速度也很快,下载调试都有快捷键,这样整个效率就高了很多。结果在下班前十分钟,将引起这次问题的原因都找到并修改完成。

这让我想起了《代码大全》里有一段描述“如果完成一个项目,需要五个小时,有些人,使用效率低下的编辑器工作了五个小时;有些人,先用了4.5个小时配置好一个高效的编辑器,然后花30分钟将项目完成。大部分人,会选择第一种”。


本文地址:https://www.eechina.com/thread-122206-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表