当Arduino遇上STM32

网友投稿 2019-11-05 14:13

进入21世纪科技进步飞速发展,极客们手上的单片机也从古老的51、PIC变成了AVR、STM32,也出现了各种便捷的开发工具,例如盛极一时的Arduino;不过Atmega328所属的AVR单片机,终究还是老点了,算起来差不多是20年前的主流了,现在流行的是ARM,今天我们就来聊一款Arduino与STM32邂逅的产物——Olimexino STM32。同时感谢21ic的倾情赞助,给我这次开发板测试的机会。

https://cdn.china-scratch.com/timg/191107/14133T5b-0.jpg

关于Olimex我们所知不多,这是一家来自保加利亚的第三方开发板的老牌厂商,产品覆盖各大MCU和SoC产品线…STM32自然也是其重要的对象之一。今天就来给大家评测一下Olimex-STM32。

板子刚入手的时候,确实惊艳了一番,红色的板子,密密麻麻的元件,配上风骚的包装,哈哈哈哈······

https://cdn.china-scratch.com/timg/191107/1413391940-1.jpg

外包装还是一贯的Olimex的风格设计,很有品牌特色。打开后就只有一个防静电袋包的光秃秃Olimex-STM32板子,没有任何其他配件。

https://cdn.china-scratch.com/timg/191107/14133aX2-2.jpg

从开发板的外观来看足见老牌大厂的功力深厚,正面整体布局紧凑有序,左侧是各种元器件,右边是偌大的STM32芯片以及Olime的卧狮LoGo,四边分别排布着各种接口。

https://cdn.china-scratch.com/timg/191107/14133954b-3.jpg

再来看Olimex-STM32背面,各种接口功能一览,各种标识,右上角有一个TF卡槽。

下面再来一组特写,来看看这块板子的特色。

https://cdn.china-scratch.com/timg/191107/1413404336-4.jpg

卧狮logo和STM32主控特写,可见型号是F103,非常经典的一颗入门芯片。

https://cdn.china-scratch.com/timg/191107/1413401C8-5.jpg

器件排布特写,做的非常不错。

https://cdn.china-scratch.com/timg/191107/14134054G-6.jpg

Olimex-STM32接口一览,十分齐全。

https://cdn.china-scratch.com/timg/191107/1413411W9-7.jpg

Olimex-STM32整体尺寸设计的十分小巧。

再来扯远点,为啥用卧狮作logo呢?狮子是保加利亚的象征之一,国徽就是三头狮子组成的,而且保加利亚随处可见各种狮子雕塑…

言归正传,既然是Arduino的同属系列,本着没有对比就没有伤害的原则,我们还是对比一下吧,哈哈哈哈······

https://cdn.china-scratch.com/timg/191107/14134151A-8.jpg

如下所示,Maple Rev5便是我们此次使用的板子(的孪生兄弟),最后一栏的Arduino UNO就是基于Atmega328的版本,而中间的两个分别是我们的Rev5往简单与发烧两个方向延伸出的两个版本,很明显我们的Olimex性能还是很强悍的。

https://cdn.china-scratch.com/timg/191107/141341F64-9.jpg

有想入手的朋友也可以去www.olimex.com上搜索一下Olimex-STM32,就能找到我们的板子了,官方售价$19.95,相对Arduino的官方价格,还是相当便宜的。

https://cdn.china-scratch.com/timg/191107/1413411549-10.jpg

好了,介绍玩性能,我们再来了解一下Olimex-STM32怎么玩;

鉴于主控芯片使用的STM32F103,是当今主流的芯片,所有的技术资料、参考手册均可去ST官网或者中文社区免费下载,此处我们就不赘述了,重点我们来看看板子的一下资料。

作为一款软件硬件全部开源的板子,在www.olimex.com销售页面上,所有关于板子的资料都可以下载,包括板子的指导手册、开发环境、原理图、bootloader、以及参考例程,所有用可能用到的资料,全部都免费提供了。

https://cdn.china-scratch.com/timg/191107/1413422c6-11.jpg

重点说一下Olimex-STM32板子的开发环境,板子使用的是Maple IDE,是一款跟Arduino界面完全相同的开发环境,支持Windows、Linux32/64、MAC OS系统,Windows下解压就能用无需安装,内涵STM32硬件库,并对其进行了深度封装,可以完全兼容Arduino,也就是说接触过的Arduinno的朋友可以毫无障碍的上手我们的Olimex-STM32,是不是很人性化呢。

https://cdn.china-scratch.com/timg/191107/141342IG-12.jpg

Olimex-STM32板子默认使用mini USB线连接电脑,上电后会在设备种许你一个串口,用来跟IDE通信,并接受IDE的控制,端口如下图;

唯一不同的是,Arduino是用串口下载程序,二我们的Olimex是用STM32的DFU模式下载程序,这样我们就需要给板子单独安装DFU驱动,具体安装步骤如下:

1、连接mini USB线给板子上电,上电后板上的蓝色LED会快闪6次然后慢闪6次,这是板子在运行自带的bootloader,之后才会运行主程序;我们的第一步任务就是让系统定留在bootloader模式,以便有足够的时间安装DFU驱动。

2、上电后我们按下RST键,在蓝色LED快闪状态下,按下BUT按键直到蓝色LED变为慢闪状态,此时松开手系统会一直停留在DFU模式,而不会运行用户程序。

3、在设备管理器中找到Maple 003设备,然后手动安装./Maple IDE/drivers/mapleDrv/dfu下的驱动程序(Win8/10需要禁用数字签名),成功后设备管理器会识别我们的板子,如下图,之后我们就可以用Maple IDE愉快的进行开发了。

Olimex网站给用户提供了一部分例程,Maple IDE也自带了很多例程,可以方便用户学习和使用。

https://cdn.china-scratch.com/timg/191107/1413422Z6-13.jpg

如果对IDE自带的函数库不熟悉,可以参考./Maple IDE/reference/index.html下的文件,或者访问http://docs.leaflabs.com/docs.leaflabs.com/index.html,里面对各种外设的操作函数有详细的描述。

https://cdn.china-scratch.com/timg/191107/1413424222-14.jpg

附上一个串口通信的示例,经典的hello world!

https://cdn.china-scratch.com/timg/191107/1413425S3-15.jpg

我们的Olimex-STM32除了支持标准的Arduino外设,还自带了一个UEXT接口,可以很方便的扩展十多类,共计4、50种外部扩展板,并且每个扩展板也都是开源的,官方都给出了详细的使用说明资料,同样所有这些扩展板均可在Olimex网站上购得,能都支持用户进行各种开发。

https://cdn.china-scratch.com/timg/191107/14134342X-16.jpg

UEXT接口包含一组3.3V电源,一个UART、一个I2C、一个SPI接口,具体引脚定义如下,关于UEXT的详细描述有专门的一份文件Universal EXTension connector (UEXT).pdf对其进行介绍,就不多赘述了。

https://cdn.china-scratch.com/timg/191107/1413434U2-17.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com