继电器 | 光耦隔离 | 电压转换 | 步进电机 | 直流电机 | ||
三轴陀螺仪 | 蓝牙模块 | |||||
摄像头 | 不要想着像手机一样;(或是在手机上直接开发) | 游戏(没有相应软件平台支持,开发成本大 |
arduino是目前最好用的一种,他提供了完整的设备库文件,任何外部设备只要查找相应的库,就可以很方便的使用 , 但是如果不去学习51 或stm32 或 嵌入式玩玩还可以,如果碰到没有实现的模块功能 或是特定的功能,没办法处理了;
内部原理,io口控制,寄存器,时钟,初始化,对其进行了包装,只需要专注于功能实现即可
几种单片机的区别
从硬件层看 cpu 处理速度从hz-Ghz; 内存从几kb到g;flash从几KB到G
从软件层看,直接操作寄存器,与底层操作封装,提供统一接口;
从价格与实用性来看;成本几十到上千 ;
从使用项目层看 需要添加sd卡模块;
从使用简易程度去看
arduino | c51 | stm32 | 嵌入式 | ||
有无操作系统 | 无 | 无 | 可以 | 有 | |
支持多线程 | |||||
开发复杂度 | |||||
速度 | |||||
限制 | 显示单张图片 |
各单片机的区别
arduino | c51 | stm32 | raspi | 计算机 | ||
CPU速度 | 0-1M | M-G | G | |||
内存大小 | ||||||
操作系统 | 直接操作寄存器 | |||||
需要知识 | 驱动相关知识,软件编程 | |||||
需额外sd卡 | ||||||
直接封装寄存器操作,使用file文件操作 | ||||||
基础知识 | c++ | c++加单片机原理(寄存器,中断,设备uart,spi,i2c,时钟) 通用io操作与设备io | c++加单片机原理+操作系统 ucos freetos | c++,python+gcc+qt+驱动原理 (python简化了大量的操作) | ||
学习成本 ,时间 | ||||||
项目效率(拿得出手的项目时间) | ||||||
各操作系统区别
arduino,c51 | stm32 | 嵌入式 | |||
直接操作寄存器 | ucos freetos 直接操作寄存器 | linux 1裸机,直接操作寄存器 2操作系统linux ;对底层寄存器进行了封装,对上提供统一接口 file open ; 程序对寄存器,内在的操作,通过mmu进行转换,即即使直接操作寄存器地址也无法;同时可能导致其它软件运行的软件产生异常; | |||
c | c | linux c 编程 python编程 会一种 |
通用io操作
使用51的话,相应的寄存器,中断相应的了解
使用stm32的话,CMX;(相对来说arduino的编辑程序还是比较小的,上手比较容易
使用操作系统的,去编辑,需要使用交叉编辑工具;ubuntu,驱动相关知识(好吧,如果你想实现简单的,并不是太建议你去)
io地址为
时钟函数为
分流 分压 电流不足
试一下在不同电压下电路的,不试,只学永远不知道
初级
只未完成先,使用现有工具,分压,电阻
先完成主要功能 ,损耗,效率,最优方案,模块选择,并不是当前应该考虑的
中级
基础模块的了解 继电器 光耦隔离 电压转换芯片
PCB
高级
最优化 效率 选择 PCB 绘制 损耗,使用,便利,效率
再。。。
价值 成本,收益
成本,收益;用嵌入式,raspi等去点灯,控制智能话有点大材小用;用arduino去显示图片,播放视频,音乐,虽可以用模块sd,player,速度,功能还是有点受限;只能依项目而选择
*mmu 了解层 ;地址映射 与 寄存器隔离保护;同时允许软件的片断化加载,从而扩大物理内存的局限性,使软件可使用内存大量化;属操作系统原理,硬件设计工程;非硬件工程,计算机设计师不需要深入,只需了解即可
*描述符 操作系统 指令层级,指令类型,精简指令 属了解层,非必须,
*
电子资料来源:
回收站
淘宝
立华电子
江科大单片机
正点电子
模电
数电
三极管
转换模块
电流
驱动 电机
家电控制 洗衣机