最近的一个问题询问了各种类型的MCU的优缺点。鉴于答案,AVR似乎甚至都不值得一提。为什么在局外人看来,AVR越来越流行了?这是仅由于Arduino,还是因为其他因素使AVR成为特别优秀的微控制器?
最近的一个问题询问了各种类型的MCU的优缺点。鉴于答案,AVR似乎甚至都不值得一提。为什么在局外人看来,AVR越来越流行了?这是仅由于Arduino,还是因为其他因素使AVR成为特别优秀的微控制器?
Answers:
AVR系列拥有许多优质,廉价,对爱好者友好的设备,具有良好的外围设备,低功耗和良好的跨平台支持。
是的,Arduino是其中很大的一部分。但是我认为Arduino的实现方式及其成功的实现-部分是由于这些功能。
好:他们运作良好。易于使用C编程以实现大多数基本功能。足够的文档。
价格低廉:很多$ 3-5美元的零件可从主要分销商那里少量购买。
爱好者友好:通孔封装的零件–与当今许多芯片系列形成了鲜明的对比。较新的AVR(例如xmega)设备则不然。
不错的外设:内置振荡器,闪存,板载RAM,串行端口,ADC,EEPROM和其他优点,可以在原型板上运行单个MCU来完成基本工作,而无需太多麻烦。
低功耗。如今,AVR的主要节点。如果您知道自己在做什么,则吸盘几乎可以永远依靠电池运行。
良好的跨平台支持:AVR在设计时考虑到了C支持,而不是事后考虑。GCC的支持很早就出现了,并且围绕着它发展了一个大型的开源社区。它仍然是您可以使用免费工具从任何平台开发的最好的MCU之一。与其他系列相比,这是一个很大的家族,其中许多家族使用专有的编译器或缺乏平庸的gcc支持。即便是PIC,使用良好的免费C编译器也很晚。
至于为什么对您先前的问题的答复没有这么多,我认为(1)您看到的样本偏差很小,(2)许多答案专门讨论非AVR解决方案-因为因此,此站点上的大部分讨论都是以AVR / Arduino为中心的。 在撰写本文时,大多数微控制器系列都没有出现在您的列表中-包括我经常使用的一些,以及世界上最受欢迎的一些。
我开始使用PIC,但后来改用AVR。我之所以切换,是因为有用于AVR的GCC。这给了我一个免费的习惯环境,让我可以在Linux / OSX上编译代码,而不仅仅是Windows。
尽管现在有很多用于PIC的C编译器,甚至对于Linux也有一些-它们都有自己的怪癖,我不想学习。
据我所知,AVR仅在诸如业余爱好者工具和快速原型应用之类的利基市场上才经历了热潮。AVR在获得Linux,MAC和PC上的跨平台工具支持方面做得非常出色。
我与之交谈的每个人都在OEM应用中使用微控制器,要么是使用PIC,某种ARM变体,要么是使用MSP430(仅适用于低功耗应用)。我还没有遇到任何使用AVR的人。
Arduino无关紧要,或者您会问为什么Arduino如此受欢迎,而不是为什么AVR。无论Arduino如何,AVR都已经“流行”了一段时间。Arduino是使AVR具有吸引力的相同产品的产物。这是另一个产品,另一个devkit。AVR在设备中的8051和智能卡中的PIC或数量不多的PIC或在AVR甚至没有竞争能力的手机和PC市场中并不流行。
您可以说AVR有吸引力,而不是流行。是的。已经指出了主要要点:价格低廉,价格低廉,只需要很少的组件或电路板功能(时钟,总线...),易于使用ISP,并且最重要的是,它具有良好的软件支持。您将获得真正的编译器,编程软件和硬件设计,文档,示例,库,所有这些都是免费的。您不必与供应商抗争,也不必怀疑您的代码大小是否受限制,也不必知道编译器在此十年中已经停产或无法在任何操作系统上运行。如果不是以前,那么一旦您被咬了足够多的时间,您就会欣赏开放的工具和文档,其中没有人指出您可以做什么,不可以做什么或不知道什么。
μC和永恒的困境Pic-Atmel有两个主要制造商。我不能向任何人推荐选择什么,但是我可以解释让我选择Atmel的原因。其中一些原因甚至是我自己都不为所知-也许我更喜欢它的发音方式-但我对这个家庭更感兴趣,因为在我看来,它与旧的Z80微处理器距离更近,并且在我回去时曾用于多个漂亮的项目还年轻
我要说的是,如果您决定朝一个方向前进,那就坚持下去,并忠于那个家庭,这是基于这样的原则,即完全了解一件事胜过半途而行。