- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
初试牛刀与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是很危险的,我偷了个懒,演示一下没有多大问题,由于相机开了闪光,所以看不出灯亮的情况,呵呵。
文档评论(0)