arduino基本函数文档格式.docx
- 文档编号:15123182
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:27
- 大小:299.57KB
arduino基本函数文档格式.docx
《arduino基本函数文档格式.docx》由会员分享,可在线阅读,更多相关《arduino基本函数文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
函数原型有助于我们深入了解Ardnino的基本函数的底层实现方式,但这部分的内容需要在单独深入学习AVR单片机的基础上进行,本书将这些函数原型从文件中提取出来,有兴趣的读者可以参考一下。
一般只要能够熟练地使用这些Arduino基本函数就可以了,本书对函数原型没有进行过多讲解。
pinMode(pin,mode)函数原型:
voidpinMode(uint8_tpin,uint8_tmode)
{
uint8_tbit=digitalPinToBitMask(pin);
uint8_tport=digitalPinToPort(pin);
volatileuint8_t*reg;
if(port==NOT_A_PIN)
return;
reg=portModeRegister(port);
if(mode==INPUT)
{
uint8_toldSREG=SREG;
cli();
*reg&
=~bit;
SREG=oldSREG;
}
else
*reg|=bit;
}
可以在开发环境中的下列实例程序中找到pinMode函数的应用:
ADXL3xx.pde、AnalogInput.pde、Blink.pde、BlinkWithoutDelay.pde、Button.pde、Calibration.pde、Debounce.pde、Dimmer.pde、Knock.pde、Loop.pde、Melody.pde、Memsic2125.pde、PhysicalPixel.pde、Ping.pde
3.1.2digitalWrite(pin,value)
digitalWrite函数也是在Blink程序中见到过的,它的作用是设置引脚的输出的电压为高电平或低电平。
该函数也是一个无返回值的函数,函数有两个参数pin和value,pin参数表示所要设置的引脚,value参数表示输出的电压—HIGH(高电平)或LOW(低电平)。
在使用digitalWrite(pin,value)函数设置引脚之前,需要将引脚设置为OUTPUT模式。
digitalWrite(pin,value)函数原型同样也可以在wiring_digital.c文件中找到,函数原型如下:
voiddigitalWrite(uint8_tpin,uint8_tval)
uint8_ttimer=digitalPinToTimer(pin);
volatileuint8_t*out;
if(port==NOT_A_PIN)return;
//IfthepinthatsupportPWMoutput,weneedtoturnitoff
//beforedoingadigitalwrite.
if(timer!
=NOT_ON_TIMER)turnOffPWM(timer);
out=portOutputRegister(port);
if(val==LOW)
*out&
*out|=bit;
可以在开发环境的下列实例程序中找到digitalWrite函数的应用:
ADXL3xx.pde、AnalogInput.pde、Blink.pde、BlinkWithoutDelay.pde、Button.pde、Calibration.pde、Debounce.pde、Knock.pde、Loop.pde、Melody.pde、PhysicalPixel.pde、Ping.pde
3.1.3digitalRead(pin)
digitalRead函数用在引脚为输入的情况下,可以获取引脚的电压情况—HIGH(高电平)或LOW(低电平),参数pin表示所要获取电压值的引脚,该函数返回值为int型,表示引脚的电压情况。
函数原型如下:
intdigitalRead(uint8_tpin)
if(port==NOT_A_PIN)returnLOW;
//beforegettingadigitalreading.
if(*portInputRegister(port)&
bit)returnHIGH;
returnLOW;
如果引脚没有链接到任何地方,那么将随机返回HIGH或LOW。
可以在开发环境的下列实例程序中找到digitalRead函数的应用:
Button.pde、Debounce.pde
3.2.1analogReference(type)
3.2
模拟I/O
3.2.1
analogReference(type)
analogReference函数的作用是配置模拟引脚的参考电压。
在嵌入式应用中引脚获取模拟电压值之后,将根据参考电压将模拟值转换到0~1023。
该函数为无返回值函数,参数为type类型,有3种类型(DEFAULT/INTERNAL/EXTERNAL),具体含义如下:
DEFAULT:
默认值,参考电压为5V。
INTERNAL:
低电压模式,使用片内基准电压源。
EXTERNAL:
扩展模式,通过AREF引脚获取参考电压,AREF引脚位置见图3.2。
如果在AREF引脚加载外部参考电压,需要使用一个5KW的上拉电阻,这会避免由于设置不当造成控制芯片的损坏。
3.2.2analogRead(pin)
analogRead函数用于读取引脚的模拟量电压值,每读一次需要花100ms的时间。
参数pin表示所要获取模拟量电压值的引脚,该函数返回值为int型,表示引脚的模拟量电压值,范围在0~1023。
函数原型可在wiring_analog.c文件中查看,如下:
intanalogRead(uint8_tpin)
uint8_tlow,high;
//settheanalogreference(hightwobitsofADMUX)andselect
//thechannel(low4bits).
thisalsosetsADLAR(left-adjust
//result)to0(thedefault).
ADMUX=(analog_reference<
<
6)|(pin&
0x07);
//starttheconversion
sbi(ADCSRA,ADSC);
//ADSCisclearedwhentheconversionfinishes
while(bit_is_set(ADCSRA,ADSC));
//wehavetoreadADCLfirst;
doingsolocksbothADCL
//andADCHuntilADCHisread.
readingADCLsecondwould
//causetheresultsofeachconversiontobediscarded,
//asADCLandADCHwouldbelockedwhenitcompleted.
low=ADCL;
high=ADCH;
//combinethetwobytes
return(high<
8)|low;
函数的参数pin范围是0~5,表示6个模拟量I/O口中的一个。
可以在开发环境中的下列实例程序中找到analogRead函数的应用:
ADXL3xx.pde、AnalogInput.pde、Calibration.pde、Graph.pde、Knock.pde、Smoothing.pde、VirtualColorMixer.pde
3.2.3analogWrite(pin,value)
analogWrite函数通过PWM的方式在引脚上输出一个模拟量,较多的应用在LED亮度控制、电机转速控制等方面。
PWM(PulseWidthModulation,脉冲宽度调制)方式是通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形或电压。
脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- arduino 基本 函数