步骤1:准备arduino
由于我们将arduino uno用作isp程序员,因此我们首先必须上传一个草图,该草图将负责通过串行端口(usart)接收数据,并且通过它们的spi端口将其正确输出到目标微控制器。
因此,打开arduino ide,转到file》 examples》 arduinoisp。
打开草图后,在在文件顶部,对引脚名称和连接进行了一些注释。下一步将解决这些问题,但请确保它们与本教程匹配。
连接您的arduino并单击“上传”按钮。
第2步:将arduinoisp编程器连接到avr
对于第一步,您将需要以下材料:
》色的跳线(是的,很重要);
01红色led
01黄色led
02个不同颜色的led,您可以选择(我们使用蓝色和白色)
01 10uf电解电容器
04 200 ohm 1/8w电阻
这些其他材料取决于项目。在我们的情况下,我们将寻求一个使用8 mhz晶振和具有相同值的内部时钟的解决方案。因此:
01 8 mhz晶体
02 20 pf陶瓷电容器
根据图片将所有组件连接在一起。
请注意,对于每个接收到晶体引线之一的路径,都有一个陶瓷电容器将该路径连接到地面路径。
led的阳极由他们的线索略有弯曲。注意白色led,该白色led将被加载的代码闪烁。由于软件的限制,不允许组件翻转,导致led交叉。
电解电容器是极化的,因此请确保将较长的引线连接到reset,而将较小的引线连接到reset。连接到gnd。
一个很好的建议是使跳线的颜色代码与图片中所示的颜色相同。这有助于进一步的硬件调试。
步骤3:集成atmel studio
将arduinoisp草图加载到arduino板上的arduino ide,这意味着您已经在计算机中安装了avrdude。
avrdude是一个命令行应用程序,可在计算机端进行固件加载过程。长话短说,avrdude读取由编译和转换过程生成的.hex文件,并将其排队,以便通过串行端口正确输出。从那里,您的uno板上的usb串行转换器(usb端口旁边的黑色正方形)从usb线读取它,将其发送到arduino uno板上的atmega,最后通过spi将其输出到目标微控制器。/p》
atmel studio最酷的功能之一就是对外部工具(如avrdude本身)的支持。基本上,atmel studio对此开放了足够的定制空间,只需按一下按钮,您就可以执行完整的命令行程序调用,并将固件部署到目标微控制器。
足够了,
打开atmel studio 6。
转到“工具”》“外部工具”
在字段中填充,如图所示。在我的情况下,“命令”字段将使用您机器中的位置avrdude填充:c:\ program files(x86)\ arduino \ hardware \ tools \ avr \ bin \ avrdude.exe
在“参数”字段中,填充以下行:
-u lfuse:w:0xe6:m -u hfuse:w:0xd9:m -e -v -patmega328p -carduino -pcom2 -b19200 -d -uflash:w:“ $(projectdir)debug \ $(itemfilename).hex”:i -c“ c:\ program files(x86)\ arduino \ hardware \ tools \ avr \ etc \ avrdude.conf”
这些是avrdude解释并转换为写操作的固件部署参数或信息。
在这一行中,有三点需要更改:
您正在使用arduino uno的com端口。为了检查,请去设备管理器》 com&lpt端口,并且您应该看到列出的arduino。
找到avrdude.conf的文件路径。一个简单的windows搜索应该可以帮助您解决这个问题。
保险丝的位值,取决于您计划项目配置的方式。只需更改-u lfuse:w:0xe6:m中间的十六进制值和要配置的保险丝名称即可。
请注意带有.hex的行部分在中间。这是avrdude将在其中查找文件的参数中的引用。 $(projectdir)和$(itemfilename)是bash脚本变量,一旦调用&deploy动作,就会根据您的项目名称和位置适当替换。
其他参数只是avrdude关于目标的准则微控制器以及在何处可以找到固件文件和avrdude配置文件。
基本上,这一行参数使avrdude执行4个写操作:
第一个写低熔丝avr
第二,高保险丝
第三项操作是完全擦除闪存,以避免写错误
,第四项是使用固件写入完整的闪存
有关参数的完整列表,请访问:https://asensar.com/blog/2013/programming-arduino-using-avrdude/
步骤4:编译并部署它!
所有配置一次完成,就该进行测试了!
将一个简单的led闪烁固件写入目标微控制器,如
完成后,转到“工具”》“部署”。
您应该在输出窗口的图片上看到类似屏幕的内容。这是avrdude的详细输出,告诉您它执行了什么。
首先显示一些部署信息,然后显示一些内存统计信息,这些信息对于大型项目确实非常有用,最后输出写操作摘要。在这里,您可以观察到前面提到的4个写入中的3个。这两个保险丝加上闪光灯。
完成后,您已经可以通过闪烁的led看到代码在工作!恭喜!
此配置对于您随后的所有项目都是永久的,因此不必介意再次进行所有操作。您可能会在项目之间更改的一件事是必须在上一步的arguments字段上重新配置保险丝配置。
有关最佳保险丝计算器,请访问:http://www。 engbedded.com/fusecalc/
故障排除:
您可能会遇到avrdude找不到或打开com端口的情况。如果发生这种情况,请确保您没有打开arduino ide。这将导致avrdude在连接到arduino ide时尝试声明com端口。为解决此问题,请关闭arduino ide,将开发板与计算机断开连接,关闭atmel studio,重新连接开发板,然后重新启动atmel studio 6。
液晶透镜的瞬态特性以及扩展景深成像实验
东芝与西部数据签署全球和解协议,共同承诺未来加强闪存合作
工控电脑在重工设备上的应用及优势
机器人女仆帮你清理残局
数控加工中心撞刀的原因及防止办法
怎样执行Atmel Studio中的编码与将代码部署到AVR微控制器之间的全面平滑集成
苹果开始推出AR应用,慢半拍的苹果能追上大部队吗?
CES2013:女王范儿雷克萨斯CT200h图赏
自动化设备设计中如何选择伺服电机(应用场景/供电电源/抱闸/参数)
朔州市与氢蓝时代举行签约仪式,加快新能源产业发展
中国内地两家以及中国台湾的led厂家库存量都达到惊人的水平 将面临降低产量或降低价格的困境
克服高温高湿高腐蚀 研华国产通讯管理机助力海岛能源项目低碳转型
小米6最新消息:小米6和华为mate9pro哪个好?华为mate9pro和小米6区别评测对比,看完你就知道买谁了!
国芯思辰 |2.4 GHz射频前端芯片GC1103可用于RF4CE遥控器远程控制
通用宣布将投资2800万美元扩建电池研发实验室
新款Calibir GX相机将在健康筛查系统中发挥优势
一文带你全面了解传感器技术
浅谈DCDC电源模块的应用特点
智能温室控制系统可让农业生产更加智能化
被它的小心思打动了——三星Neo QLED 8K电视开箱评测