
其中setup(初始化)函数为上电时一开始就执行的函数。类似电脑的开机自启动程序,此函数仅在上电时被执行一次,此后永不执行,除非重启。此函数内的代码一般为各种元件、模块、功能的初始化函数。
而loop(循环)函数则是初始化完成后一直执行的函数。此函数其实为一个无限循环(死循环),里面的代码将被反复执行,直到断电或者重启。大部分的代码都在这个函数内。
在初始化部分中,又有一个pinMode函数,这个函数是用来规定当前管脚功能的。
语法规则:pinMode(引脚编号,模式)
其中模式主要有三种:
OUTPUT——输出
INPUT——输入
INPUT_PULLLUP——带上拉电阻的输入。对于什么是上拉电阻,以后的推送中会介绍。
在这里是规定为输出模式以点亮LED。
若你想让管脚输出或者输入高/低电平,请务必在初始化部分加上这个函数,否则会有很多意想不到的问题!
在循环部分中,有两个函数:
第一个是digitalWrite函数,这个函数是用来规定管脚的输出的。
语法规则:digitalWrite(引脚编号,模式)
其中模式有两种:
HIGH或1——高电平,输出+5V电压
LOW或0——低电平,输出0V电压
第二个是delay函数,这个函数是用来控制延时的。
语法规则:delay(时间)
时间单位为毫秒(ms),1秒等于1000毫秒。
在延迟期间内,处理器将什么也不做直到延时结束,这其实极大地浪费了处理器的性能,故我个人不推荐直接通过delay来实现延时的目的。你可以使用其他方法来替代,具体做法将在以后的推送中介绍。
这样一来,这个程序也就十分清晰明了了:
首先,规定13号引脚,也就是LED_BUILTIN,为输出模式。
然后,让其输出高电平来点亮LED并延迟一秒来维持这种状态。
再后,让其输出低电平来熄灭LED并延迟一秒来维持这种状态。
有以下疑问:1. SoftPWMSet 这是什么鬼? arduino的pwm输出,可以直接使用analogwrite函数。若是你自己写的,;源文件丢出来给人看看是啥。
2. 还有"pins_arduino.h"也是,如果是自己写的,都把它贴出来。
3. arduino的中断,不是这样用的。直接使用<avr/interrupt.h>,会造成冲突.
4. 对你这个程序,你遇到的困难是?想跟网友求助那个问题?看了10多分钟,还是一头雾水。你这个我大概看了下,目测你的程序是这样的:3,5,10,9,这四个引脚来控制两个直流电机,直接扩流来驱动电机,引脚8接的是一个LeD,用于显示状态,还有个11引脚,从注释的字面上理解,应该是超声波的相关引脚,但是一个引脚,超声波,我愚钝,看不出来的是干嘛。
看了10多分钟,还没搞懂你想要干嘛,根据超声波测得的距离,来控制小车前进后退?还是前进过程中,超声波检测到障碍来做避障?
根据前面的分析,你这段代码,肯定是不通过编译的,错误提示呢?
你要网友帮你修正程序,但是又不知道你的需求,怎么改?
总之,分给我吧~~~
你好只要将Uno的USB线插入电脑,并且下载Arduino IDE 软件。创建一个新的编写程序。
之后在里面写入你的程序就可以了。基本上所有的Arduino都是用它自己的软件编写的。
这个软件在官网就能下载到。你如果是问具体怎么编程,这个涉及的东西太多了,由简单到复杂。但是相比于一般的直接给处理器写硬件编程的东西而已,Arduino的软件已经给你创造了一个舒适的环境能够试用很多简单的编程,比如你可以直接控制连接的端口的电压输出等。
如果你一点没有接触编程,你可以载入Arduino软件里的编程例子去看。里面比如有blink等,简单又能理解,而且官网还给你配了图片,告诉你怎么进行连接。我觉得Arduino是一种C和C++的混编,所以如果有的代码你不明白可以具体的复制到网上搜索。
你可以追问或者留言告诉我你更多的困难,或者你需要我出示一个例子的话,你可以给我讲。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)