- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
初试牛刀与Arduino博弈
初试牛刀与Arduino博弈
wxxmickey?发表于?-?2008-4-29 20:03:00
0
推荐
Arduino内带Bootloader程序,是系统上电后运行的第一段代码,就好比PC机BIOS中的程序,启动就进行自检,配置端口等等,当然单片机就是靠烧写熔丝位来设定上电从boot区启动的,使用这个程序就可以直接把从串口发来的程序存放到flash区中。我们在使用Arduino编译环境下载程序时,就先让单片机复位,启动Bootloader程序引导串口发过来的程序顺利写入flash区中,flash可以重复烧写,因此想更新软件就是这么的方便。下面我来简单的介绍一下编译环境的使用。
首先下载最新的编译软件Arduino0011,解压后就可以直接使用,插上Arduino USB接口,并安装好驱动(前面介绍过),我们就可以开始练手了,点击我的电脑右键-属性-硬件-设备管理器查看到USB映射的串口地址,然后打开Arduino0011,
Arduino开发编译环境很简洁,各个功能键功能描述如下:
接下来点Tools-Board选择开发板型号,
这里我们使用的是Arduino Diecimila,然后点Tools--Serisl Port选择串口,即USB映射的串口地址,
前面的工作做好后,我们就找个例程来实验实验,点File-Sketchbook,
这里我们选择LOOP这个例程。
我也刚接触这个平台,所以对Arduino语言也不太了解,大致看了一下,他是以setup()开头,loop()作为主体的一个程序构架。官方网站是这样描述setup()的:用来初始化变量,管脚模式,调用库函数等等,此函数只运行一次。loop()函数是一个循环函数,函数内的语句周而复始的循环执行,类似c语言中的“while(1){};”。
LOOP实验程序需要一些额外器件,几个发光二极管和几根杜邦线,这里我们用1个发光二极管和2根杜邦线演示即可。工程代码如下:
int timer = 100;?????????????????? // The higher the number, the slower the timing.int pins[] = { 2, 3, 4, 5, 6, 13 }; // an array of pin numbers int num_pins = 6;????????????????? // the number of pins (i.e. the length of the array)
void setup(){? int i;
? for (i = 0; i num_pins; i++)?? // the array elements are numbered from 0 to num_pins - 1??? pinMode(pins[i], OUTPUT);????? // set each pin as an output}
void loop(){? int i;? ? for (i = 0; i num_pins; i++) { // loop through each pin...??? digitalWrite(pins[i], HIGH);?? // turning it on,??? delay(timer);????????????????? // pausing,??? digitalWrite(pins[i], LOW);??? // and turning it off.? }? for (i = num_pins - 1; i = 0; i--) { ??? digitalWrite(pins[i], HIGH);??? delay(timer);??? digitalWrite(pins[i], LOW);? }}
实验目的是让 2, 3, 4, 5, 6, 13 号数字输出管脚电平从左到右依次置高置低,再从右到左依次置高置低。注:13号数字输出管脚是我改上去的,原程序是7号,只是为了节省外围,用板载的LED方便观察结果。
digitalWrite();?? 函数就是改变相应管脚的电平状态,内部有2个参数赋值。
先编译这个工程文件,点编译按钮或Ctrl+R,编译完成后就可以下载到目标板了,点通过USB下载代码或Ctrl+U。下载过程中,你可以观察到TX和RX指示灯不停的闪烁。
图上在6号脚上接发光二极管正极,发光二极管负极接GND,可以看见6号和13号数字输出脚上的灯依次闪烁。注意:由于数字输出口没有接限流电阻,直接接LED是很危险的,我偷了个懒,演示一下没有多大问题,由于相机开了闪光,所以看不出灯亮的情况,呵呵。
您可能关注的文档
- 分类-蓝猫版.ppt
- 切割原理及机型介绍.ppt
- 切割营销——营销是切割之争而非产品之争.ppt
- 切实加强宪法和重点法律法规宣传突出学习宣传宪法.doc
- 分馏塔设计简介.ppt
- 切实抓好领导干部任期经济责任审计制度.doc
- 切比雪夫大数定理.ppt
- 切削力测定.ppt
- 刑法分则各罪权威总结.doc
- 刑法分论一般部分 华政.ppt
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)