拇指兄弟的比拼战——Arduino AVR VS Arduino STM32 万事开头难,写一篇测评也是如此,大家都知道,这开头是废话,但是也是主题,不说不可。于是我根据这次要说的总体风格,就模仿一下鲁迅先生的开头吧。 我手里有两块开发板,一块是Arduino开发板,还有一块也是Arduino开发板。 Arduino一般是一个带有AVR单片机的完整系统板(一般的,也有Arduino用arm处理器,比如用STM32)。Arduino更倾向于创意,它弱化了具体的硬件的操作,它的函数和语法都非常简单,而且非常“傻瓜”。因此,Arduino在创客的世界是一个非常方便轻松实现“想法”的神器。 俗话说“够用就好”,而大多数应用环境并不是要求十分高大上的,而且高大上是有成本代价的,据说各种火星探测器(比如说勇气号和好奇号)的处理器性能都没有从前的诺基亚板机处理性能高。因此我们这里选择两块非常“下里巴人”级别的Arduino来一睹Arduino的魅力,并有意选择了搭载AVR单片机和搭载STM32单片机的Arduino来用心把玩。 经过笔者一阵搜刮,找到了两块拇指型的Arduino来把玩,这样也更加经济实惠,更贴合初学者以及学生,好用不贵。 这两款Arduino开发板就是:搭载ATtiny85的Digispark和搭载STM32F103的Maple mini。 我们先来看看两只靓仔的靓照吧,素颜的。 是不是以为很大呢,非也非也,我们把这俩宝贝放到笔记本键盘上看看就知道了。如下图所示,素颜实拍。 看出来了吧,拿自己的小拇指跟笔记本键盘的空格键比较一下,是不是两个中比较大的Maple mini 还没有你的小拇指长呢。我们再来对比一下搭载的两个单片机的主要参数。 根据基本的配置和封装来看两者相差十万八千里的。而又具备外观上的共同点:小巧。那么开发上都是基于Arduino标准的,会是一样吗?接下来我们一起分别讨论一下开发过程与开发环境。 Digispark(ATtiny85)软件开发流程 先来介绍一下AVR:AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。至今,AVR将近20岁。 Digispark是一款以ATtiny85为主控MCU的Arduino开发板,不过属于第三方的,因此官方出品的Arduino开发软件是不提供该开发板的支持的,因此需要我们对Arduino IDE进行改造,安装额外的支持包。 下载并安装完成Arduino1.6.8版本后,启动程序: 1.单击“文件—>首选项—>附加开发板管理器网址:”输入 htp://digistump.com/package_digistump_index.json 如下图所示,然后单击“好”。 2.单击“工具—>开发板(开发板管理器)”,弹出管理器选项卡,等待更新索引完成后,类型选择“贡献”,如下图所示,选择Digistump AVR Boards by Digistump后点击安装。 等待完成后,我们开发环境也就搭建好了,接下来进行安装驱动DigisparkWindowsDriver 。下载地址附在测评最后。 在正确安装驱动程序后,在设备管理器会多出一个新的设备: libusb-win32 Usb Devices/Digispark BootLoader 接下来断开开发板与PC机USB连接线,我们马上开始编程操作。 打开Arduino软件,单击工具—>开发板—>Digispark(Default – 16.5mhz),如下图所: 编程器选项我们不用管,默认就行,这个不影响后面的操作。 接下来单击 文件—>示例—>第三方库示例—>Digispark_Examples—>Start 这样就新建好了一个示例的工程,如下图 程序有了,那么符合电路图吗?我们再来看看电路原理图。 我们看到程序中,对端口0和1配置的高低电平交替并延时,也就是如果接LED的话表现为闪烁。那么电路原理图中给出的只有端口1(PB1)连接了LED,且高电平点亮。我们权且不动这个代码。接下来编译烧录测试。
|