总的来说arduino和stm32是不具备直接对比性的。因为它们二者处于不同的维度,如果非要说谁强大的话,那么对于工具而言,要看使用它的人,能把工具发挥到多强大。
Arduino是一个开源的电子开发原型平台。其包含硬件开发板和软件IDE和各种开发生态。所以Arduino是一个集合了硬件和软件的综合体。
至于STM32,可以先简单的理解为,ST意法半导体,基于ARM Cortex-M系列的单片机。现在我们一提到STM32,就认为是一系列的单片机,也就是一颗MCU芯片。如果我们用STM32单片机做一个硬件开发板,再加上常用的Keil或是IAR集成开发环境,也形成一个软硬结合的综合体,就可以和Arduino来对比一下。
当二者都形成一个综合体的时候,我们就可以简单的对比一下:
Arduino开发板也是需要单片机的,不过使用的是ATMEL公司的ATMEGA系列单片机,从单片机的性能上来看,大部分的Arduino开发板还是使用的8位单片机,当然现在也有使用32位的Arduino开发板。但是目前最普及的还是8位单片机,所以这一点上STM32的性能就远远高于Arduino开发板使用的单片机了。
然后说说硬件开发板,我们通常都是购买现成的Arduino开发板,虽然它也有很多的扩展板和传感器模块供我们二次开关,但是仍然在一个固定的硬件基础上。至于STM32的话我们可以设计各种各样的开发板,当然这个需要大家会画PCB电路板。总之我们可以根据自己的应用设计属于我们自己的开发板。
在看看IDE集成开发环境,超子喜欢使用keil,当然iar也很好用。我们使用C语言开发STM32,不管是用寄存器还是库进行开发,都需要我们对STM32的各种硬件外设比较了解,同时对于c语言也要熟练使用。
而对于Arduino而言,开发上手相对容易,因为Arduino对硬件底层做了很多的封装,尤其适合新手入门。
总而言之Arduino生态做的非常好,各种配套教程也很系统,上手简单。STM32的话需要我们自己做的事情比较多,自己搭建硬件和软件结合,对C语言要求也比较高,入门比Arduino难。但是掌握之后,灵活多变,可以适应各种各样的应用场景。
相关文章