找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 847|回复: 3

[单片机] Arduino简介和必备开发工具

[复制链接]

856

主题

2630

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36108
发表于 2024-4-10 04:32:15 | 显示全部楼层 |阅读模式
单片机又名“微控制器”,是单个集成电路上的小型计算机。微控制器包含一个或多个 CPU(处理器内核)以及存储器和可编程输入/输出外设。微控制器专为嵌入式应用而设计,与个人计算机或其他由各种分立芯片组成的通用应用中使用的微处理器相反。用现代术语来说,微控制器类似于片上系统(SoC),但不如片上系统(SoC)复杂。SoC 可能包括微控制器作为其组件之一,但通常将其与图形处理单元 (GPU)、Wi-Fi 模块或一个或多个协处理器等高级外围设备集成。微控制器用于自动控制的产品和设备,如汽车发动机控制系统、植入式医疗设备、遥控器、办公机器、电器、电动工具、玩具和其他嵌入式系统。与使用单独的微处理器、存储器和输入/输出设备的设计相比,微控制器减小了尺寸和成本,使更多设备和过程的数字控制变得实用。混合信号微控制器很常见,它集成了控制非数字电子系统所需的模拟元件。在物联网的背景下,微控制器是一种经济且流行的数据收集方式,可作为边缘设备传感和驱动物理世界。

常用的单片机(开发板)有以下几种:

一、Arduino UNO。Arduino是一家意大利开源硬件和软件公司、项目和用户社区,设计和制造用于构建数字设备的单板微控制器和微控制器套件。其硬件产品在CC BY-SA许可下获得许可,而软件则根据GNU宽通用公共许可证(LGPL)或GNU通用公共许可证(GPL)获得许可,允许任何人制造Arduino板和软件分发。Arduino板可从官方网站或授权分销商获得。Arduino旗下有多种开发板(UNO、NANO、MEGA等),相对而言,UNO的用户群体最大,网上资料最多。但是,大多数UNO开发板均不带蓝牙和WiFi,而且由于处理器孱弱,不支持摄像头模块。

二、ESP32。ESP32是一系列低成本、低功耗的片上系统微控制器,集成了Wi-Fi和双模蓝牙。ESP32系列采用双核和单核的Tensilica Xtensa LX6微处理器、Xtensa LX7双核微处理器或单核RISC-V微处理器,包括内置天线开关、功率放大器、低噪声接收放大器、滤波器和电源管理等模块,还支持蓝牙、WiFi、摄像头等模块。ESP32由总部位于上海的中国乐鑫公司创建和开发,由台积电使用其40纳米工艺制造。

三、Raspberry Pi Pico。Raspberry Pi Pico是树莓派的第一款基于单个微控制器芯片的电路板。Pico具有264KB的RAM和2MB的闪存。它可以在C,C++,汇编,MicroPython,CircuitPython和Rust中编程。树莓派与Adafruit、Pimoroni、Arduino和SparkFun合作,使用RP2040芯片平台为Raspberry Pi Pico和各种其他电路板构建配件。

四、STM32。STM32是STMicroElectronics的32位微控制器集成电路。STM32芯片分为基于相同32位ARM处理器内核的相关系列:Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4、Cortex-M7、Cortex-M33。每个微控制器内部均由ARM处理器内核、闪存、静态RAM、调试接口和各种外设组成。

除了以上几种单片机,还有“上古时代”的单片机(比如INTEL 8051)、非典型的单片机(比如Raspberry Pi经典版,更像通用计算机)和给儿童当教具的单片机(比如BBC MICRO:BIT)。限于篇幅不再介绍,感兴趣的人可以自行查找资料。

总结:

单片机跟通用计算机不同,它不用于网络游戏、视频播放等日常任务。单片机不需要接入键盘鼠标和屏幕,也不需要安装操作系统,而是根据刷入的固件来循环执行相对简单特定任务。如果没有给单片机刷入固件,单片机就是一个摆设(没有任何作用)。学习单片机的过程就是学习电路设计固件编程的过程。如果你对单片机感兴趣,我推荐先购买一份Arduino UNO套装进行学习。因为它最简单,容易树立起学习的信心。


玩单片机所需的软件:

Arduino IDE:https://www.arduino.cc/en/software
功能强大的IDE和固件写入工具,支持多种开发板(包括非Arduino旗下的开发板)。

Wokwi:https://wokwi.com
在线且免费的电路仿真工具,包含简易的代码编辑器,可以测试四种主流单片机程序的效果。

SimulIDE:https://simulide.com
开源且免费的电路仿真工具,内置简易的代码编辑器,配合Arduino IDE的编译器可以测试Arduino单片机程序的效果。

Proteus:https://www.labcenter.com
专业且收费的PCB设计和电路仿真工具,内置代码编辑器和多种编译器,可以测试市面上几乎所有单片机程序的运行效果。

玩单片机所需的硬件:

1、带USB口的电脑(用来写代码和给单片机刷入固件)

2、单片机开发板和各种电子元件(比如电阻、温湿度传感器)

3、面包板和各种跳线(免焊连接单片机和电子元件,方便测试)

4、万用电路板和电烙铁(学习过程中不需要,做成产品时才需要)

2

主题

10

回帖

0

精华

初来乍到

积分
14
发表于 2024-5-11 13:43:10 | 显示全部楼层
Air001 路过,最便宜的 Arduino

2

主题

10

回帖

0

精华

初来乍到

积分
14
发表于 2024-5-11 13:50:24 | 显示全部楼层
001 SSOP20,7毛多一片,不带USB,基本够用,取代STC足够
32位机8位机价格,现在STC价格有所下降了,最低4毛钱
STM32F103C6T6A SOP48,价格大概 2元一片,不带USB
有USB需求可以C8T6 价格浮动比较大
ESP8266 WIFI
ESP32 蓝牙 WIFI USB
可玩性都比 ATMega328P 强

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2024-6-26 15:59:12 | 显示全部楼层
Arduino框架的好处是:


使用统一的(基本统一)C++接口来开发单片机.

只需要在其IDE里选好开发板,就可以直接写代码,至于开发板本身如何与此框架的C++接口兼容,那是开发板厂家与Arduino的事,不需要用户来管.

使用裸代码开发单片机时,其实大量的时间与工作主要用在了查单片机文档,配置寄存器,初始化各资源,写框架上,实际单片机里的用户逻辑一般不会太过复杂,大量的时间与精力都用到了前面那些工作上.

Arduino解决了这最麻烦与费时间的工作,让使用者可以直接开始写用户逻辑,而无需去关心具体硬件如何驱动.

当然,代价也是有的,那就是Arduino生成的代码非常大,并且执行效率也没有祼代码那么高.

涉及到一些特殊场景(例如要做低功耗,要使用资源非常少的单片机以降低成本等),还是只有老实地写祼代码.

不过那种场景一般都是需要批量生产才遇得到,个人制作一些小玩意时基本不需要考虑这些.

再说使用Arduino来进行产品验证也是非常快速的,验证通过后再使用裸代码来做实际量产开发也是完全没有问题的.
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表