一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 5528|回复: 5

[其他综合] 自动调速的USBASP固件跟代码

[复制链接]
发表于 2012-12-16 00:43 | 显示全部楼层 |阅读模式
不使用高压下载编程器的时候,USBASP是avr芯片比较好用的下载器,上位机有!智峰软件,用progisp167版本的比较方便,设置熔丝是中文的。


官方的代码,PC2低电平,usbasp才会进入低速,才能读取低频率的avr芯片,比如默认内部1MHz熔丝的频率。如果芯片刚买回来是默认的熔丝值,需要进入低速,特别低的速...才能识别出芯片。设置好熔丝后,还要跳线回来,不然下载慢死。
硬件跟官方电路一样,修改原理如下。


YUKI修改成
每次先根据跳线恢复速度,如果官方代码在高速跳线模式读不出来,就切换成低速模式读取。
//  replyBuffer[0] = ispEnterProgrammingMode();
  replyBuffer[0] = ispEnterProgrammingMode_YUKI();//代码修改成自动降速,YUKI


uchar ispEnterProgrammingMode_YUKI()
{
   uchar b;
   // return ispEnterProgrammingMode();//原来的代码
   //根据跳线恢复设置
   //跳线设置速度的部分
   ispDisconnect();
   ledRedOff();
   /* set SCK speed */
   if((PINC & (1 << PC2)) == 0)
      {
         ispSetSCKOption(USBASP_ISP_SCK_8);//低速
      }
   else
      {
         ispSetSCKOption(prog_sck);//自动
         //默认   prog_sck=USBASP_ISP_SCK_375:硬件SPI, enable SPI, master, 375kHz, XTAL/32 (default)
      }
   prog_address_newmode = 0;
   ledRedOn();
   ispConnect();
   //加入自动降速的代码
   b = ispEnterProgrammingMode();
   if(b == 1)
      {
         //如果 ispEnterProgrammingMode(); 检测了32次都失败,就降速
         ispDisconnect();
         ledRedOff();
         ispSetSCKOption(USBASP_ISP_SCK_8);//低速
         prog_address_newmode = 0;
         ledRedOn();
         ispConnect();
         b = ispEnterProgrammingMode();
      }
   return b;
}

【usbasp_YUKI.aps】是Gcc工程文件,方便编译
usbasp.2011-05-28_YUKI(2012-2-19)加入自动降速_YUKI.rar\usbasp.2011-05-28_YUKI(2012-2-19)加入自动降速_YUKI\firmware\default\,目录的【usbasp_YUKI.hex】是编译好的固件。
usbasp.2011-05-28_YUKI(2012-2-19)加入自动降速_YUKI.rar\usbasp.2011-05-28_YUKI(2012-2-19)加入自动降速_YUKI\bin\win-driver\libusb_0.1.10.1_win03下使用
带有一个可以在win03系统下使用的版本驱动。
作为一个基本工具,如果不想意外固件上电干扰还是什么,把固件或者熔丝抹掉了,其实可以在usbasp正常使用后,usbasp硬件上的m8芯片,熔丝设置成禁止isp编程,这样芯片就相当于固化了。
usbasp.2011-05-28_YUKI(2012-2-19)加入自动降速_YUKI.rar (568.16 KB, 下载次数: 1162)
 楼主| 发表于 2012-12-16 00:50 | 显示全部楼层
用这个代码,在官方电路上,跳线成自动速度的,就会【每次用高速尝试32次,如果识别不出来,就将为低速】,比如用默认内部1Mhz熔丝,它会用低速写入,如果设置好熔丝用外部12Mhz晶振,它就会用高速写入了。
如果跳线成低速,就会一直是低速了。
回复

使用道具 举报

发表于 2012-12-16 10:05 | 显示全部楼层
前排支持!有一个ASP,不知道怎么回事,跳线就是进不了低速模式,测连线都是通的,终于可以用这个试试啦!
请问LZ:我将您这个固件刷入就可以吗?在win7下开发,不知道驱动是否兼容?
回复

使用道具 举报

发表于 2012-12-16 11:41 | 显示全部楼层
一直都在找有带自动调速功能的USBasp固件,要马上试试看才行。
回复

使用道具 举报

 楼主| 发表于 2012-12-16 20:35 | 显示全部楼层
这个固件是根据官方的【usbasp.2011-05-28】,只修改了一点点代码。
win7应该是用里面的libusb_1.2.4.0驱动
回复

使用道具 举报

发表于 2014-8-16 21:42 | 显示全部楼层
很好,我也一直在找,下周试试看是否能用
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-31 09:32 , Processed in 0.034517 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表