【雕爷学编程】Arduino动手做(168)---ATTINY85迷你USB开发板2

发布时间 2023-07-23 20:20:48作者: 行者花雕

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百六十八:ATTINY85 Digispark kickstarter 微型USB接口开发板模块 兼容UNO R3单片机扩展板

后来有一台电脑安装Zadig(通用usb驱动)2.4.721 官方版后,能识别了

然后,又发现了新的问题
键盘突然不能用了,偶然才知道是ATTINY85与键盘发生了冲突,电脑不能用了(这贴在另外一台电脑上发的)

找到了屏幕键盘,开始尝试用arduino烧录

网上找了个实验程序,开始上传,出现这个提示再插入ATtiny85......

上传成功是这个提示

这个Digispark捣鼓了第三天,依旧困难重重,目前主要情况是:
Arduino能够识别Digispark这块小板子

相关的示例程序也都有

偶尔也能烧录成功,但一直无法得到验证(大概率还是没有烧录进去,没有反应)

现在看来主要结症,还是“Digispark驱动”的问题,电脑很难识别这个简易USB接口的设备,在设备管理器上反复出现——未知USB设备的提示

其实相关硬件的驱动早已安装过多次,也提示成功了,可依旧是无法识别.......

附相关资料:
== libusb ==
说明:libusb是一个跨平台的usb驱动框架。libusb原始项目在2010年后基本没有更新,曾有libusbx项目2012年从libusb分出来,2014年1月26日又合并回libusb了。当时的libusbx-1.0.18和libusb-1.0.18其实完全一样,相当于libusbx替换了libusb的代码!后续的版本其实都是基于libusbx的代码了!包含两个主要分支1.x和0.1.x。1.x和0.1.x并不兼容,可以同时存在,如果要在1.x基础上兼容0.1.x需要libusb-compat转换层。所以0.1.x和libusb-compat不能同时装上!
内核:目前1.x分支的驱动只有用户态,linux下支持usbfs,windows下支持WinUSB.sys。也可以支持libusbK和libusb-win32(通过libusbK支持)。
工具:通过Zadig支持生成基于libusb0、libusbK、WinUSB的inf文件。

== libusb-win32 ==
说明:libusb-win32是从libusb-0.1.x分支衍生的,主要是针对Windows做优化,所以接口风格和libusb-0.1.x一致。
内核:WDM框架的libusb0.sys驱动。
工具:自带inf-wizard.exe生成基于libusb0.sys的inf文件。
注意:目前建议是新的项目尽可能使用libusb,而不是这个libusb-win32了。我在这个上面花了很多时间,一直报错,坑爹了,要注意libusb-win32已经废弃,目前使用的是libusb+Zadig的组合。

== libusbK ==
说明:libusbK主要是想做一个WinUSB接口风格的开源usb库,支持基于KMDF的libusbK.sys和系统自带的WinUSB.sys。参考libusb-win32做的开发,部分工具是从libusb-win32整合而来的。因为源代码里也包含了libusb0.dll的加载功能和转换层,所以也可以支持WDM框架的libusb0.sys(libusb-win32)。
内核:基于KMDF框架的libusbK.sys、WDM的libusb0.sys、系统的WinUSB.sys
工具:自带libusbK-inf-wizard.exe(基于libusb-win32的工具改的),生成基于libusb0、libusbK、WinUSB的inf文件。


这个Zadig一直没有找到中文版的,上次胡乱安装把键盘整丢失了

烧录ATTINY85的三种办法都实验过了
1、使用ATTINY85自身小板载USB接口,一直难以识别,主要是digispark驱动问题,WIN10系统有个USB驱动强制签名,相关管理比WIN7更严格了
2、使用Arduino UNO 当ISP,只是自带示例中Arduino isp一直出错无法使用(老版本时期的没有更新),好像是现在版本不能兼容,已下载IDE1.01和1.05的老版本,试了下可以兼容自带的Arduino isp示例程序
3、使用免驱USB ISP,也叫51单片机 AVR下载线 编程烧录器,头回尝试配合progispV1.72,可以擦除与烧录了(以前没有接触过单片机与C语言,从零开始三个月来的系列实验真是步步困难处处艰辛呐)