能不能拿 Arduino 来学习单片机?

用Arduino入门单片机,主要有两种不同的情况。

一、专业学生。
这里指的是大学电子类专业的学生(包含某些计算机类)。

对于这些专业的学生使用Arduino学习单片机可以重点放在与使用Arduino与外围传感器通信上。了解以及学习各类传感器的通信协议,以及使用场景以及特性,对于各种传感器类型以及传感器与单片机的交互方式可以有非常感性的直观认识。

另外Arduino有相当丰富的软件库资源,这些库为了传播与使用的方便,大多都写的较为系统,集成度较高,可以作为单片机编程的范例,当然偶尔有鱼目混珠之辈,所以建议尽量使用大公司出版的传感器库参考。

当然作为专业学生学会这些远谈不上会了这些单片机。
学单片机永远是需要接触寄存器的。
但是对于Arduino,寄存器基本上是透明掉的也就是说在大部分Arduino程序中你是看不见寄存器的身影的,这也是为什么Arduino的普及程度要远高于其他开发板的原因了。

但这是否会影响从Arduino到学会单片机的转化呢?
我的观点是否定的,反而Arduino对于引脚操作的封装,对AD输入的封装,对定时器PWM的封装,这些封装方式,反而才是电子专业的同学所欠缺的。而Arduino又是开源著称,显然这些封装方式都是能看到的,所以也给了我们学习的途径。

所以从Arduino入门单片机,到最后甚至能走的更远。

阅读全文

Arduino有没有ARM芯片的版本?

Arduino只是一个平台,原理上不受MCU限制,但为了硬件兼容及GNU的支持,MCU进行了精挑细选。atmel公司的技术资料详细、规范和开放,开源组织支持的也好(编译器),所以arduino开始选择了它。
当前Arduino不支持51,51太弱了。AVR是开源硬件和软件(GNU)支持很好的芯片,也是RISC结构的8位机。而51是CISC的(GNU不支持)。51没有IIC,SPI等接口,太弱了。Arduino平台上也可以运行多任务操作系统的。当前已经支持ARM CM3,也是Atmel公司的。有个energia ,借鉴了arduino,可以开发TI的mcu。有个maple支持stm32。

Arduino现在已有基于ARM M3的控制器了。
Arduino Due是第一块基于32位ARM核心的Arduino控制板,以满足需要更快速度和更大存储容量的Arduino控制板的应用需求。
Arduino Due的处理器核心是Atmel SAM3X8E,拥有54个数字IO口(其中12个可用于PWM输出),12个模拟输入,4路UART接口,一个USBOTG接口,两路DAC(模数转换),一个电源插座,一个JTAG接口,一个复位按键和一个擦写按键。Arduino Due控制器如下图所示。

阅读全文

Arduino 新手指引

Arduino怎么读

Arduino 一词源于意大利人名阿尔杜伊诺,中文发音大致同“阿杜一若”。

要了解Arduino就先要了解什么是单片机,Arduino平台的基础就是AVR指令集的单片机。

1、什么是单片机?它与个人计算机有什么不同?

一台能够工作的计算机要有这样几个部份构成:中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。

阅读全文