电脑知识
少儿编程需要什么硬件(少儿编程具备什么能力)
2023-04-12 11:05

你知道Arduino UNO 微控制器自带的Flash、SRAM、EEPROM三者的区别吗?

举个例子,现在同一款手机,会有很多不同的存储版本,比如华为荣耀80@荣耀9X,有8G+256G,12G+256G,12G+512G三个版本,其中8G和12G就是指SRAM,SRAM越大,可以同时打开的程序就越多,运算效率也更高;而256G和512G就是闪存Flash,Flash越大你装游戏越多,装照片越多,装app越多,但和你的运算效率无关。

Arduino UNO如果按手机的写法,那就是2KB+32KB了,这样写是不是更容易理解?

(1)Flash,你编译后上传的代码就存储在Flash闪存内,它可以长期存储要运行的应用程序代码,其大小为32KB。

(2)SRAM,临时存储运算数据,比如程序运行的时候,你定义的变量和对象都存在这里,断电后数据丢失,其大小为2KB。

(3)EEPROM,长期存储硬件参数或程序运行参数,其大小为1KB。

虽然和手机比起来小的可怜,不过不用担心,C语言开发的硬件控制程序编译后是非常小的,完全够用;而手机则不同,比如支付宝、微信这些app,一年年不停的迭代开发下去,功能越加越多,体积也越来越庞大,还有大量的图、音频在里面,在手机里都成了巨无霸一般的存在,有些动辄数G,一二百兆的都是良心app了,说到这里真是要谴责一下他们某些大厂了,不能总让我们不停更换更大存储的手机追你们app的更新速度吧。

最后单独说一下EEPROM,它是带电可擦可编程只读存储器,属于Flash的一个特殊存在,可以长期存储数据,掉电数据也不会丢失,Arduino使用EEPROM库可以很方便的写入和读取数据,可存储运行参数,以便于下次运行时使用(图3为EEPROM读写例子)。

EEPROM用电子信号修改数值,而在早期还有一种叫EPROM的前辈,则是通过紫外线照射修改数据的,EPROM正面陶瓷上有一个小玻璃窗口,紫外线从这里照射内部芯片,可以擦除数据,成本非常高也不方便,已经被淘汰了,技术总是在一直快速进步的。而Arduino阵营也有性能更好的产品可供选择,比如Arduino Mega,其微控制器的Flash为256KB,SRAM为8KB,EEPROM为4KB,性能不错,准备下手一块。

好了,Arduino UNO 微控制器自带的Flash、SRAM、EEPROM这三者的功能和区别,你都明白了吗?

发表评论
0评