AVR的开发工具主要包括仿真器和编程器,仿真器一般便宜的是JTAG,比较贵的是ICE50等等,由于AVR至少可以擦写5000次(我用过Mega8/16/32/128,Mega8带电擦拔 + 5V电源反接1分钟15次,下载了5000多次以后完蛋了),所以好像JTAG和ICE50等没有多大用途,调试一般我采用LED+LCD1602直接观测程序运行情况,就是如果要看中间变量或者程序运行到哪里了,就在那个地方加一条LED显示或者LCD显示的语句,读取变量等等直接显示,很方便,也很便宜,所以在AVR中,我不用JTAG和ICE50等等玩意。 编写程序下载到AVR中,至少需要一个并口ISP下载线,{zh0}两个到三个并口ISP下载线,防止一个损坏时没有第二个供判断用,并口ISP下载线很便宜,15元就可以买到看相很好的成品,自己做更加便宜了,如果是公司,那么{zh0}做它50个-100个,每个成本不足5元钱,本网站的那个ISP下载线可能图纸上有点笔误,74LS244要换成74HC244,在电源线上串联的100欧电阻{zh0}去掉不要。之所以推荐并口ISP下载线,是因为并口下载线很便宜,而且坏了不心痛,而且很安全,一般根本不会损坏PC机的并口,除非你接错电源了,用并口ISP不能下载的AVR,估计上并行编程器也未必能恢复,如果在并行编程器上面能恢复的,就只有一种情况,就是RST脚被编程为通用I/O口了和SPIEN被写入了,但是在现在的软件里,特别是双龙ISP1.4.2.3版本中间,我还真没发现有这种现象,其余的软件可能有这种现象?那很可能是软件有BUG,所以用并口ISP下载线,推荐用双龙ISP 1.4.2.3版本,而且这个版本是具有STK500的熔丝位界面的,非常方便,当然,用并口ISP下载线的时候,CVAVR、BASCOM-AVR也具有类似特征,也是很好的下载软件。 很多人说并口ISP下载线速度慢,不稳定,但是双龙这个软件有了巨大的改观,速度非常快,用FAST模式编写Mega16,16K程序,只要不到10秒,而且超级稳定。呵呵作为开发人员,老板不会对你这10秒钟斤斤计较的,就伸个懒腰就行,其实最浪费时间的地方是程序的修改和排错,不是下载程序,如果你的片子被锁住了,请先看看是不是RST脚被编程占用了,只要没被占用,用4MHz有源晶振接在XTAL1脚上就可以恢复熔丝,只要片子是好的,这个方法百试百验,当然啦,如果你用的是并口ISP下载线,又用的是双龙ISP1.4.2.3版本下载,那么我想你是不可能对这两个熔丝位进行任何操作的,双龙这一点上很安全。 原来采用STK500,主要是熔丝位确实很恼火,不象AVRSTUDIO里面用STK500那么方便,其实STK500也好、AVRISP也好、USBISP也好,其余的东西也好,都是支持AVR的块写模式的,所以速度奇快xx,但是下载速度快在开发程序的时候有什么很多用处呢??连伸懒腰的机会都被剥夺了,痛苦啊!而且价格{zpy}的也要50元,实用价值不是很大,不要指望AVR910或者STK500下载器或者JTAG可以救活你的芯片,除了上述提到的情况,如果并口ISP下载线是好的,而你用有源晶振都恢复不了,那么,基本上可以判你的芯片死刑了,并行编程器一般都恢复不了的,我有并行编程器,试验过,没有一片能恢复!!所以高压编程器基本上只是个心理安慰而已!! 双龙的ISP软件熔丝位设置界面可以说在第三方软件中比较xx了,STK500界面还带出厂值设定。相比之下TLG、小马和dudu有点不方便,很多人说AVRstudio只支持STK500(国内比较普及)而不支持STK200/300,这点不假,特别对于使用GCC的来说,切换编程界面不是很方便,但是如果你用CVAVR或者BASCOM-AVR或者FASTAVR,这一点上并不存在,前两者自带编程界面,xx可以使用并口ISP下载线,而且是STK500界面的,后者可以直接调用双龙的ISP,也非常方便,不象GCC那么不灵活,只能用STK500下载器(当然可以使用别的,但是就是不能使用并口ISP下载线,至少现在不能,而且很多人手头上都有STK500下载器),这一点上,ATmel公司做得很不好,连双龙ISP都支持90PWM2/3,为什么avrstudio不支持呢?有 故意提高技术门槛,赚取更多剩余价值之嫌。。。。请某些人不要对号入座,谢谢!! 所以,我现在基本上不用STK500了,就一根下载线解决问题,还弄了个4MHz有源晶振,非常方便啊,别人出差,还没说过并口ISP下载线不好用的,更加没说过芯片锁死的,已经丢失了两个了,但是没有关系,我们有100个呢,每个造价只有5元。并口在很多笔记本电脑上都有,如果一个笔记本电脑连并口都没有,那估计这个笔记本可能是个垃圾,而且,很多开发是在实验室和办公室里完成的,现场调试一般尽量不改程序,改程序也要到住所来改比较方便,因为笔记本电脑在现场容易损坏,除非你用IBM的xx电脑,我们自己的ISP下载线是在网站的基础上作了一个改动,就是增加了一个4MHz的有源晶振,单独一根线引出来,这样,比STK500还方便,STK500下载器除了下载速度快以外,现在并没有其他优势了。 开发软件,应该把主要精力放在软件的功能实现和电路设计上,而不是编程器上面,编程器只要好用就好,不在于你用STK500还是AVR910还是其他的什么的东西,程序下载到AVR中,只要下载下去了,肯定是同样的,不会说哪个下载的抗干扰性更强一些的问题。 一家之见,望海涵,谢谢,共同努力,提高自己的编程水平和硬件设计水平!! |