本文隶属于AVR单片机教程系列。html
今天去交大密院参观了设计展,无外乎两个主题:Arduino、Python。git
关于Python,我印象最深的是一位Python程序员的话:你要硬核的话,能够去那边看Java。程序员
拜托,都9102年了,Java已经算得上硬核了?是Python太好用,仍是Java版本更新太快了?真正的硬核,绝对BrainFuck莫属,若是要实际一点,也是C++、Haskell之辈,当Java在他们口中称得上硬核的时候,我以为我能够换一个展台了。github
因而我来到了全是Arduino的楼层。看到那么多Arduino,我不由疑惑,虽然Arduino是最多见的开发板,但也不至于彻底没有STM32的踪迹吧?问了才知道,是教授要求他们用Arduino的,我也就无语了。web
跟一个优秀做品设计者聊了几句,他说同时控制舵机和扬声器很难控制好延时,扬声器输出的音乐节奏会乱。我第一反应固然是他没有用定时器中断,一问果真如此,而且他不知道中断也不知道定时器。我也就不想多说了,告辞。架构
以前设计模块化单片机开发系统的时候,一直以为“业余爱好者由于开发平台封装性太强而没法学会使用单片机高级功能”(其实就是专指Timer/Counter,由于总线、ADC等都有库,惟独T/C必须用户本身写中断)这个论调站不住脚,甚至还写了个问卷,结果虽然与预期相符,但我还把缘由归结为问卷能传播的范围过小。如今以为,就算是大四的学生,水平也就这样。编辑器
参观完这个展览,我更坚决了要好好写这份教程的想法。要想学好单片机,良好的开发环境必不可少。模块化
以上为废话,咱们来配置开发环境吧。工具
咱们要安装如下几个软件:
Atmel Studio 7.0(简称AS7),是Atmel为自家单片机推出的IDE,基于Visual Studio 2015;
AVRDUDESS,是支持多种下载器的AVR单片机烧写工具AVRDUDE的GUI版,若是你熟悉命令行,直接用AVRDUDE也行;
Zadig,用于安装USB驱动,无需安装,下载即用,只须要用一次;
Serial Port Utility(简称SPU),是一个串口通讯工具,界面比同类软件干净;
串口工具的驱动,取决于你使用的型号,通常只有PL2303和CH340两种,在网上下载并安装对应的驱动便可。
Atmel Studio 7.0的下载地址:联网安装包、离线安装包;
Zadig的下载地址:应用程序;
SPU的下载地址:安装包。
若是下载太慢,用如下关键字搜索:Atmel Studio 7.0.1931。
另外,SPU是收费软件,可免费试用30天。要么买,要么想办法继续用(疯狂暗示),要么用相似软件替代。
AVRDUDE和SPU的安装按照安装程序来就行,不讲了。
其实AS7也能够不讲,但这个软件比较大,有些人安装大软件老是有点慌,因此仍是写一下。
通过短暂的加载后,安装程序会显示这个界面。
第一个勾是赞成协议,固然是必须勾的。能够阅读一下协议,与通常软件的协议无异,除了开源软件部分特别长之外。
下面的框是用来指定安装位置的,自由选择。
最后一个勾是容许发送匿名信息,无所谓。
选择要开发的架构,在本教程中只用到第一个8位AVR,勾选第一个就能够了。
选择是否要安装ASF,这个在咱们的教程中不须要,但有时候能够用来抄代码。
而后安装程序会检查当前系统状态是否能够安装,我碰到过第一个为叉的状况,在新装系统后集中安装软件的时候会出现,重启就好。若是还很差就再重启,再很差就是系统的问题了。
这是2018年6月发布的安装包,自那之后还有新单片机型号推出,相应的头文件没有加入这个安装包,须要安装完后手动更新。咱们用不到那么新的设备,不更新也能够。
而后就是漫长的安装,等等吧。中间会跳出Visual Studio的安装程序。
最后,安装完成,桌面上会有Atmel Studio 7.0的快捷方式。选项是启动AS7,勾选就当即启动,不勾选就以后手动启动,无所谓。
最主要的几个点我讲一下,其余的本身根据习惯来吧。
打开AS7会出现这个界面,此时软件正在加载,一会就行了。
软件的界面就是这样的,能够新建、打开项目,也能够快速打开最近使用的文件。
咱们先捣鼓一下设置。在菜单栏→Tools,点击Options。
在Environment→International Settings中,选择语言,可选择英语或与系统相同的语言,也能够下载语言包。
在Environment→General中,选择配色主题,有Blue、Dark和Light三种可选。Dark主题在一些组件中不太美观。
在Environment→Keyboard中配置快捷键。
输入“build”,选择Build.BuildOnlyProject,选中下面的框,按F5(是按F5键不是输入F和5两个字符),而后点Assign。用于build当前project。
external, Tools.ExternalCommand1, F6, Assign. 用于后面的“一键烧写”。
comment, VAssistX.SelectionToggleLineComment, Ctrl+/, Assign. 用于注释与取消注释。
这些是须要手动配置的快捷键中最经常使用的。
在Text Editor→All Languages→General中,勾选Line numbers,在编辑器中显示行号。
在Text Editor→GCC→Tabs中,选择Insert spaces。用空格代替tab是程序员的基本素质,据说用空格的程序员工资更高哦!
在菜单栏→Tools中,点击External Tools...。
这个窗口用于配置外部工具,咱们用它来建立一个“一键烧写”的工具。
在下面的4行中,依次填入如下最外层引号内的内容:
Title: "AVRDUDE"
Command: "C:\Program Files (x86)\AVRDUDESS\avrdude.exe"
Arguments: "-c usbasp -p m324pa -B 0.5 -U flash:w:"$(TargetName).hex":i"
Initial directory: "$(TargetDir)"
注意第二行中的目录要换成AVRDUDESS的安装目录,我这里安装在了默认位置。
最后,要勾选Use Output window。
除了AS7中的配置之外,还须要使用Zadig安装USBasp的USB驱动。在安装以前,先插入USBasp下载器。
直接打开软件跳出这个界面,没有USB设备显示出来。
在菜单栏→Options中勾选List All Devices。
而后USB设备就都显示出来了,选择USBasp。
先确认上面选的是USBasp,千万不要选错!!!点击上下箭头,选到libusbK,而后Replace Driver。我这里由于已经安装过了,因此会显示Reinstall。
安装成功,环境配置完成。