当前位置:  开发笔记 > 编程语言 > 正文

AVR或PIC开始编程微控制器?

如何解决《AVR或PIC开始编程微控制器?》经验,为你挑选了10个好方法。

我应该从哪个家庭开始学习?(从未对微控制器进行任何编程)



1> smt..:

今天,AVR和PIC可能是业余爱好者中最常见的微控制器.两者都具有非常广泛的设备变体,并且两者都可用于实现类似的结果.

对于初学者,我会建议AVR由于各种原因:

AVR系列(微小,巨型)连贯且易于理解.该架构功能强大且现代,特别适用于C编译器.AVR当然也可以在汇编中编程.

由于其C友好的架构,有商业和免费的优质C编译器.无处不在的GCC被移植到AVR并称为avr-gcc.

首先,您需要的是一些基本组件,AVR芯片本身和面包板.甚至PC和AVR之间的编程电缆也可以基本上免费构建(所谓的摆动器).但是,有几种商业开发套件可供使用,最着名的是Atmel自己的STK500.商业开发套件是更昂贵的入门方式,但实际上并不需要任何有关电子设备的先验知识.一些开发套件包含例如LCD显示器,因此很容易完成有趣的事情.

它有一个丰富的业余爱好者社区.

PIC以其独特的建筑而臭名昭着.很多人都喜欢PIC,有些人讨厌它.AVR更直接,似乎没有引起极端和极端的观点.

AVR和PIC都用于许多严肃的商业应用.但是,它们当然不是唯一的选择.我个人最喜欢的用于业余爱好和商业工作的微控制器是Silicon Laboratories的C8051系列,最着名的是C8051 F530.C8051系列有一个优秀的免费C编译器和汇编器,称为SDCC.

总结:有很多选择,但请不要让那些压倒你.只需选择一个并开始学习它.一旦你决定开始,微控制器真的非常容易掌握!


这种写法已经过时多年,仅适用于传统器件PIC12和PIC16.引脚兼容的PIC18 +有一个hw堆栈,并且正交足以在C中编程(尽管有256字节结构限制)16位线带有gcc _standard_.由于设备和外围设备的巨大差异,我主要选择PIC.
@Marco:这是你自己的想象,"过时"的写作.没有提到PIC无法在C中编程.但是如您所知,由于PIC架构中存在缺陷,用C语言编写PIC(特别是较旧的PIC)并不像AVR那样简单.使用AVR,生活往往更容易,这就是为什么我认为它更适合初学者.但是,嘿,你刚才证明了我的主张,每当PIC正在辩论时,就会大喊大叫.:)

2> J.J...:

我的老板在没有经验的情况下在一周内使用AVR获取了基础知识.



3> Sparr..:

我建议AVR.它远远超过PIC作为一般业余爱好者项目的首选微控制器平台.最值得注意的是,考虑到Arduino(和其他*duino)平台,它提供了一个易于界面和流行外形的高端AVR.



4> Jason Moore..:

我做了一些PIC编程 - 主要是因为我喜欢芯片只有一两美元的想法.然而,对于初学者来说,仅仅根据价格做出决定是不成熟的优化.

汇编程序编程是一种体验.在闪烁LED之前,您基本上必须了解100个概念.(看门狗定时器,复位引脚,8位计数器/溢出,延迟循环,十六进制,二进制,位屏蔽,中断,中断服务请求,IO端口等)这一切都非常有教育意义 - 并且感觉如此接近到机器 - 但能够用C编写代码会隐藏一些复杂性,这样你就可以专注于结果.出于这个原因,我会说与AVR一起去.(而且我相信价格现在更接近PIC了.)

另外:如果你对完成任务感兴趣(并且不介意花费~30美元),请查看arduino.一个在我当地的电子商店卖它们的人说他正在向艺术学生出售他们的吨数.(它使用Processing项目中的IDE,并使用avr-gcc编译代码.)

更新:修正了Arduino运行解释代码的注释.还更新了约Arduino价格.



5> stevenvh..:

我非常喜欢AVR而不是PIC,我的架构我觉得有点乱.这可能只是我,如果你能用高级语言写作,最有可能(某些方言)C,它不会给你带来麻烦.

由于您不熟悉微控制器,我认为性能不会成为问题,因此我会寻找开发工具的可用性:原型板,IDE和仿真/调试工具.我个人非常喜欢AVR Studio(Atmel的免费开发环境).

Jason提到了TI的MSP430,它确实是一款出色的控制器,特别是如果你处于非常低功耗的应用中.但我不建议新手,因为配置有点麻烦.(我记得在用户手册中,振荡器的描述涵盖了20多页.)



6> J. Peterson..:

有些人评论了PIC micro的奇怪(和C不友好)架构.较小的PIC也是如此,但16位芯片(PIC24F,dsPIC30等)具有非常清晰的架构,可以很好地与C配合使用.

PIC24F系列能够动态地为功能(定时器,A/D,串行I/O)分配引脚,使设计更容易.用于调试和开发的MPLAB环境非常好.



7> 小智..:

我不明白与arduino有什么关系,它会毁掉你理解实际发生的事情的机会.我定期与AVR和PIC一起编程,基本没有太大区别,我看不出大惊小怪.然而,对于初学者远离arduino,它可能很简单,但这就是陷阱,它没有给你任何硬件架构的概念,也不知道幕后发生了什么,初学者需要学习成为一名有效的程序员.当我还是初学者时,我开始使用ATmega32 20美元USBasp程序员,AVR Studio(免费)和AVRDude(附带WinAVR),并按照AVR Freaks的介绍教程进行操作.这就是你所需要的一切!

PS如果你想真正学习如何编写微程序并有时间学习微博的汇编程序,那么你的C程序员将是开始使用arduino的人的20倍.


我自己的经历与你说的完全相反:我从一个Arduino开始,并对它是多么容易感到惊讶.然后,在第一次成功之后,我进入了MCU数据表,学习了avr-libc,直接进入寄存器,开始学习汇编......现在我的Uno主要作为我的其他AVR的USB编程器.回想起来,我意识到Arduino与"陷阱"相反.这是一次很棒的学习经历,使学习曲线变得更容易,让我有动力学习更多知识并深入了解更低层次的细节.

8> Axeman..:

对于各种各样的设备,我投票给PIC.但我必须说,当我开始使用PIC时,它们几乎没有别的.也许现在事情发生了变化.



9> Jason S..:

我投票支持TI的MSP430系列.我已经广泛使用了PIC(也有Atmel芯片),到目前为止,对我来说最重要的是一个很好的调试IDE.TI在这方面做得非常出色,而且他们的C++编译器工作得非常好.您可以使用价格低于100美元的评估板,包括IDE + USB调试器.PIC具有更好和更多样化的硬件外设,但MPLAB是一个废话,PIC的唯一C++ IDE是IAR的一个相当昂贵的.(超过$ 2K)



10> Marco van de..:

我/我们选择PIC主要是因为有相同价格的外围硬件.更重要的是,你甚至找不到类似的AVR.我确实选择了一个遗留的免费版本(从PIC18开始,迁移到dspic33)

IDE是免费的,(C)编译器在学生版中是免费的(在第一个月后禁用优化).入门级程序员也相当便宜.如果你有大量的中断,计数器和定时器,你可能根本不需要优化.直接来自Microchip的程序员是30美元.

请注意,除非您真正选择PIC12和16等传统架构,否则上述关于AVR更多地支持HLL开发的评论有点过时了.

人们通常在C中编程更现代的PIC18(8位)和16位架构(24F,30F和dspic33,它们基于相同的主要核心).16位甚至使用GCC.现在还有基于MIPS的32位,但它们在音频/视频处理领域与ARM竞争更多.奇怪的是,现代的通常比旧的便宜.可能它们是在更现代化的生产过程中生产出来的.

另一个注意事项:同时Microchip/PIC收购了Atmel/AVR,但我认为最初几年不会对产品线产生太大影响.

我真的很期待今年夏天即将发布的60MIPs以太网16-bitter(afaik streetprice只需10欧元以上)

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有