0x01:前言

Digispark USB Development Board是一块基于ATTiny85微控制器的开发板。2012年底主创团队在kickstar上发起了众筹,并且成功筹集到了30万美元左右的资金。众筹时这块板子要12刀,按现在的汇率折合下来差不多是70r,并且还不包邮;在9102年的今天,这块板子只要不到10r就能从某宝上买到,总的来说是非常划算了。

这块开发板最大的特点就是它的USB功能。类似于Arduino lendardo,这块芯片原生支持USB接口,因而可以模拟出各式USB设备:键盘、鼠标……各类文章中介绍最多的也是利用它实现bad usb功能。当然,它也支持i2c接口,pwm输出,adc输入等常规功能。除此之外,芯片上还内嵌了一个温度传感器(未校准),更是增添了几分可玩性。

因为年代久远,官方WiKi(digispark [Digistump Wiki])上的一些资料都已经过时或不可用。不过不用担心,这个系列的文章将带你避开官方文档中的那些坑点,让你愉快的把玩这块小开发板。

0x02:开发环境配置

首先,你应当安装有最新版的Arduino开发环境。

运行Arduino,在上方的菜单中找到文件->首选项->附加开发板管理器网址,并填入以下地址:

http://digistump.com/package_digistump_index.json

单击‘好’。

在上方的菜单中找到工具->开发板->开发板管理器,在“类型”下选择“贡献”一栏,下载并安装下图中所示的包。注意:下载时请科学上网,否则速度可能会很慢。

下载完毕后,选择下图所示的开发板即可。

安装好开发板后,还需要安装驱动程序,从以下链接下载驱动:(如果失效请在评论区留言,我会更新链接。)

驱动程序​github.com

下载后,解压并运行DPinst.exe即可(64位系统请运行下图中的程序)

一路确定安装好驱动程序,一般来说已经可以使用开发板了。

先打开设备管理器,再插上开发板。你应该会发现如下图所示的设备。并且此设备应该会在5秒后消失,变成未知设备或其它选项(原因后面再说)。如果这样,就算是正常工作了。

如果不论如何,都找不到此项,则请按图片所示操作

往下看

继续往下滑应该能看到类似下图的“设备描述符请求失败”

右键选中它,并更新驱动程序,选择“浏览我的计算机以查找驱动文件”,找到刚刚下载驱动的目录并选中,然后点下一步,直到安装完成。

安装完成后,重插开发板,应该就能正常工作了。

(本文章同步首发于知乎、CSDN、简书,并未授权其它平台(比如程序员大本营这种抄袭网站)转载,谨防抄袭)

在这里我们尝试烧写一个示例程序。注意:因为此开发板有两种类型,并且这两种的LED接的引脚不一样,所以下面的代码中,你会发现我们同时在操作两个引脚。

void setup() { pinMode(0, OUTPUT); //LED on Model B pinMode(1, OUTPUT); //LED on Model A } void loop() { digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(1, HIGH); delay(300); // wait for a second digitalWrite(0, LOW); // turn the LED off by making the voltage LOW digitalWrite(1, LOW); delay(300); // wait for a second }

下载程序到开发板。注意:这款开发板比较特殊,你应该先点击下载按钮,当出现如下提示时再插入开发板(而不是插好等下载):

插入后,程序应当会自动下载,板载LED会闪烁。如果重新插拔,5秒后led会正常闪烁,否则请看文末。

自此,开发环境的配置告一段落。有问题请在评论区留言。

0x03 一些提示

为什么上文中提到“………设备会在5秒后消失?”,以及为什么led5秒后才能正常闪烁?

这段时间是用来烧写程序的,因为烧写时引导程序需要通过usb接口与计算机沟通,所以这时候计算机才能识别到开发板。5秒后,内部的bootloader会退出烧写模式,并加载用户程序,所以计算机就识别不到它了,并且此时led才能正常闪烁。

当然,这个“5秒后加载用户程序”的设定并不友好,有时候我们希望不需要等待,直接加载用户程序,如果需要下载,再手动切换到下载模式。(比如制作一个badusb)。

下一篇文章中我们会介绍如何实现这一点,同时为大家介绍一下常用的片上外设及功能,以及一些小技巧。

有些用户可能会遇到以下情况:烧写的程序工作正常,但是重新拔插开发板后程序就无法工作了。这其实是板载固件有问题。因为这部分内容和下一篇文章的内容密切相关,我们就放到下一篇文章中讨论。可以进入用户详情页面查看我写的文章。

如果对你有帮助,不妨关注一下我,点个赞再走~

Digispark USB开发板把玩笔记(一):认识这块小巧、便宜、多功能的Arduino兼容板相关推荐

  1. 详解如何基于Arduino兼容板Digispark实现虚拟键盘与鼠标

    目录 前言 硬件环境 USB协议 Digispark介绍 Attiny85介绍 开始前准备 1. 安装Arduino 兼容板设备文件 2. 安装下载驱动 模拟键盘 模拟鼠标 下载到开发板 前言 理论知 ...

  2. 详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标

    目录 前言 硬件环境 环境配置 1. 下载Teensy烧录程序 2 下载TeensyDuino 使用方法 1 模拟键盘 1.1 Keyboard库函数介绍: 1.2 Keyboard键码表: 1.3 ...

  3. Digispark USB开发板的应用_写给刚学完C的你

    文章目录 学前小故事 一.Hello Digispark 1.硬件介绍 2.实现原理 3.配置环境 4.第一个USB开发板程序 二.结构介绍以及C语言美化 1.#difine定义常量 2.函数封装调用 ...

  4. 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来

    摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...

  5. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

  6. 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来

    摘要:能让JavaScript应用运行在haas100开发板上,这实在是太酷了,这种方式被阿里云称之为"轻应用".本文带各位从零开始,先了解啥是轻应用,然后搭建环境,再一步步将一个 ...

  7. 涂鸦LZ201-CN开发板学习笔记(一)

    涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...

  8. HaaS600物联网开发板学习笔记(二)---轻应用方式让LED闪烁起来

    摘要:轻应用开发非常方便快捷,gitee上的例程也都是基于HaaS600的,所以,拿HaaS600来逐个测试例程,学习轻应用开发和物联网应用是最合适的.本文介绍一下HaaS600如何使用轻应用来开发. ...

  9. 华清远见fs4412开发板学习笔记(五)

    fs4412开发板学习笔记(五) 作业1: 输入10个整数,按从小到大的顺序输出(选择排序) 每轮排序在未排序的集合中找到(最小/最大),将找到的数与未排序的 第一个数交换位置. 5 4 3 2 1 ...

最新文章

  1. linux中科大yum源,CentOS:国内常用的yum源
  2. 360首席安全官谭晓生宣布离职
  3. P6047-丝之割【斜率优化,dp】
  4. ES6入门之Generator函数
  5. BugkuCTF-MISC题赛博朋克
  6. 微软故障转移群集服务器要求,故障转移群集概述
  7. Centos7.2 域名解析 /etc/resolv.conf 被覆盖
  8. 设置eclipse代码自动补全功能
  9. 基于redis和R语言构建并行计算平台(yiyou)
  10. LeetCode学习记录(10)
  11. 大型电子病历系统【整套源代码分享】
  12. vs安装以及简单使用教程
  13. Python关于节假日的一些处理
  14. 计算机键盘上范的怎么点击,微信怎么用键盘最小化 电脑最小化键盘怎么按
  15. 租用云服务器价格表:阿里云和腾讯云服务器最新价格表
  16. 哪些人需要发表期刊论文
  17. Cell子刊:北大姜长涛组发现HIF-2α通过肠道菌群调控脂肪产热
  18. 容器技术介绍之docker核心技术概述
  19. NYOJ 427 Number Sequence
  20. ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件

热门文章

  1. 投资中国就是投资希望 金融危机中的外资走势评析
  2. python奇数偶数行输出_python对输出的奇数偶数排序实例代码
  3. 在docker中跑通tensorrt的官方例子engine_refit_mnist
  4. go每日新闻--2020-02-25
  5. 英语发音规则---oo
  6. 美国高等教育在教育体系中所具有的重要意义
  7. 北大硕士毕业,人大在读博一,IJCAI资深审稿人
  8. Scrapy_Study01
  9. 关于内存和内存地址的详解
  10. 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程