Arduino BLE 函数库中文

合集下载

arduino常用函数(二)

arduino常用函数(二)
电压,AREF引脚位置见图。ቤተ መጻሕፍቲ ባይዱ
模拟I/O函数
AREF引脚
注意:如果在AREF引脚加载外部参考电压,需要使用一个5KΩ的上 拉电阻,这会避免由于设置不当造成控制芯片的损坏。
模拟I/O函数
3. analogWrite(pin,value)
analogWrite函数并不是输出真正意义上的模拟值
analogWrite函数通过PWM(脉冲宽度调制)的方式在 引脚上输出一个模拟量,较多的应用在LED亮度控制、 电机转速控制等方面。
模拟I/O函数
模拟信号:
模拟信号是用连续变化的物理量表示的信息,信号随时间作连 续变化。在Arduino UNO上,可以接受0~5V的模拟信号。
模拟I/O函数
模拟输入引脚:
模拟输入引脚 模拟输入引脚有10位精度,即可以将0~5V的电压信号转换为
0~1023的整数形式表示。 模拟输入功能需要使用analogRead() 函数。
模拟I/O函数
2. analogReference(type)
analogReference函数的作用是配置模拟输入引脚的 参考电压。该函数为无返回值函数,参数为type类型,有 3种类型(DEFAU LT /INTERNAL/EXTERNAL),具体含 义如下: 。
DEFAULT :默认值,参考电压为5V。 INTERNAL:低电压模式,使用片内基准电压源。 EXTERNAL:扩展模式,通过AREF引脚获取参考
abs(x)函数的作用是获取x的绝对值
4. constrain(amt,low,high)
constrain(amt,low,high)函数的工作过程是,如果值amt小于low, 则返回low;如果amt大于high,则返回high;否则,返回amt。

arduino 常用函数

arduino 常用函数

arduino 常用函数Arduino是一种开源的硬件平台,它使用简单易学的编程语言,可以轻松地实现各种电子项目。

在Arduino中,有许多常用函数可以帮助我们完成各种任务。

下面是一些常用的Arduino函数:1. pinMode(pin, mode)该函数用于设置指定引脚的模式。

其中,pin表示引脚号,mode表示要设置的模式(输入或输出)。

例如:pinMode(13, OUTPUT); // 将13号引脚设置为输出模式2. digitalWrite(pin, value)该函数用于将指定引脚的输出值设置为高电平或低电平。

其中,pin表示引脚号,value表示要设置的值(HIGH或LOW)。

例如:digitalWrite(13, HIGH); // 将13号引脚输出高电平3. digitalRead(pin)该函数用于读取指定引脚的输入值。

其中,pin表示引脚号。

例如:int val = digitalRead(2); // 读取2号引脚输入值,并将其存储在val 变量中4. analogWrite(pin, value)该函数用于将指定引脚的PWM信号占空比设置为指定值。

其中,pin 表示引脚号(必须是支持PWM输出的引脚),value表示要设置的占空比(0~255)。

例如:analogWrite(9, 127); // 将9号引脚PWM信号占空比设置为127 5. analogRead(pin)该函数用于读取指定引脚的模拟输入值。

其中,pin表示引脚号(必须是支持模拟输入的引脚)。

例如:int val = analogRead(A0); // 读取A0号引脚模拟输入值,并将其存储在val变量中6. delay(ms)该函数用于延迟指定毫秒数。

其中,ms表示要延迟的毫秒数。

例如:delay(1000); // 延迟1秒钟7. millis()该函数用于获取自Arduino板启动以来经过的毫秒数。

arduino基本函数

arduino基本函数

arduino基本函数3.1.1 pinMode(pin, mode)3.1 数字I/O3.1.1 pinMode(pin, mode)pinMode函数在第2章中已经出现过了,用以配置引脚为输出或输出模式,它是一个无返回值函数,函数有两个参数pin和mode,pin参数表示所要配置的引脚,mode参数表示设置的模式—INPUT (输入)或OUTPUT(输出)。

注意:Arduino板上的模拟引脚也可以当做数字引脚使用,编号为14(对应模拟引脚0)到19(对应模拟引脚5)。

由于Arduino项目是完全开源的,所以pinMode(pin, mode)函数原型可直接在Arduino开发环境目录下的hardware\arduino\cores\arduino文件夹里的wiring_digital.c文件中查看。

函数原型有助于我们深入了解Ardnino的基本函数的底层实现方式,但这部分的内容需要在单独深入学习AVR单片机的基础上进行,本书将这些函数原型从文件中提取出来,有兴趣的读者可以参考一下。

一般只要能够熟练地使用这些Arduino基本函数就可以了,本书对函数原型没有进行过多讲解。

pinMode(pin, mode)函数原型:void pinMode(uint8_t pin, uint8_t mode){uint8_t bit = digitalPinToBitMask(pin);uint8_t port = digitalPinToPort(pin);volatile uint8_t *reg;if (port == NOT_A_PIN)return;reg = portModeRegister(port);if (mode == INPUT){uint8_t oldSREG = SREG;cli();*reg &= ~bit;SREG = oldSREG;}else{uint8_t oldSREG = SREG;cli();*reg |= bit;SREG = oldSREG;}}可以在开发环境中的下列实例程序中找到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.pde3.1.2 digitalWrite(pin,value)digitalWrite函数也是在Blink程序中见到过的,它的作用是设置引脚的输出的电压为高电平或低电平。

arduino常用函数

arduino常用函数

arduino常用函数Arduino常用函数Arduino是一款开源的电子原型平台,它可以让用户快速、简单地制作各种电子设备并进行交互。

在Arduino编程过程中,常用的函数有以下几种:1. pinMode()该函数用于设置某个引脚(pin)的模式,可以设置为输入(INPUT)、输出(OUTPUT)或输入上拉(INPUT_PULLUP)。

例如,将引脚2设置为输出模式:```pinMode(2, OUTPUT);```2. digitalWrite()该函数用于将某个引脚输出高电平(HIGH)或低电平(LOW)。

例如,将引脚2输出高电平:```digitalWrite(2, HIGH);```3. digitalRead()该函数用于读取某个引脚的状态,返回值为高电平(HIGH)或低电平(LOW)。

例如,读取引脚3的状态:```int state = digitalRead(3);```4. analogRead()该函数用于读取模拟信号输入口的值,返回值为0~1023之间的整数。

例如,读取A0口的模拟信号值:```int value = analogRead(A0);```5. analogWrite()该函数用于产生PWM信号控制模拟输出口的输出电压。

参数范围为0~255之间的整数。

例如,将PWM信号输出到引脚9:```analogWrite(9, 128);```6. delay()该函数用于延时一定的时间,单位为毫秒(ms)。

例如,延时500毫秒:```delay(500);```7. millis()该函数返回自Arduino板上电以来经过的毫秒数。

例如,获取当前时间:unsigned long current_time = millis();```8. map()该函数用于将某个值从一个范围映射到另一个范围。

例如,将0~1023之间的模拟信号值映射到0~255之间的PWM信号值:```int pwm_value = map(analog_value, 0, 1023, 0, 255);```9. Serial.begin()该函数用于初始化串口通信,并设置波特率。

arduino基本函数

arduino基本函数

arduino基本函数Arduino是一种开源硬件平台,它基于易于使用的硬件和软件,可以用于创建各种互动项目。

在本文中,我们将介绍一些Arduino的基本函数,这些函数是编写Arduino代码时经常使用的。

1. digitalWrite()函数:这个函数用于将指定的引脚设置为高电平(HIGH)或低电平(LOW)。

例如,digitalWrite(13, HIGH)会将数字引脚13设置为高电平。

2. pinMode()函数:这个函数用于将指定的引脚设置为输入(INPUT)或输出(OUTPUT)模式。

例如,pinMode(13, OUTPUT)会将数字引脚13设置为输出模式。

3. digitalRead()函数:这个函数用于读取指定引脚的电平状态,返回值为HIGH或LOW。

例如,state = digitalRead(13)会将数字引脚13的电平状态保存在变量state中。

4. analogWrite()函数:这个函数用于在指定的引脚上产生模拟信号。

模拟信号的取值范围是0到255,对应于引脚的电压范围0到5V。

例如,analogWrite(9, 127)会在数字引脚9上输出一个占空比为50%的PWM信号。

5. analogRead()函数:这个函数用于读取指定引脚上的模拟信号。

模拟信号的取值范围是0到1023,对应于引脚的电压范围0到5V。

例如,value = analogRead(A0)会将模拟引脚A0上的模拟信号读取到变量value中。

6. delay()函数:这个函数用于延迟指定的毫秒数。

例如,delay(1000)会延迟1秒。

7. millis()函数:这个函数返回自Arduino开机以来的毫秒数。

它常用于计时或控制时间间隔。

例如,currentTime = millis()会将当前的毫秒数保存在变量currentTime中。

8. Serial.begin()函数:这个函数用于初始化串口通信,并指定波特率。

Arduino学习笔记(四)--常用函数

Arduino学习笔记(四)--常用函数

Arduino学习笔记(四)--常⽤函数1、pinMode(pin,Mode):设置引脚的输⼊输出状态Pin:引脚号;Mode:INPUT、OUTPUT2、digitalWrite(pin,value) :设置输出引脚的⾼低电平状态Pin:引脚号;value:HIGH LOW3、int digitalRead(pin):读取引脚的状态,并返回HIGH 或LOWPin:引脚号4、int analogRead(pin):读出模拟引脚上的电压,并以⼆进制数值返回(0~1023)对应为0~5vPin:引脚号5、analogWrite(pin,value):给PWM引脚输出电压值pin:引脚号;value:具体的pwm值,(0~255对应表⽰⼀个周期的⾼电平占空⽐)6、shiftOut(dataPin,clockPin,bitOrder,value):将⼀个字节的数据通过移位的⽅式逐位的输出。

dataPin:数据引脚clockPin:时钟引脚bitOrder:移位顺序(MSBFIRST-⾼;LSBFIRST-低)value:需要进⾏移位传输的值说明:在输出数据时,当⼀位数据写⼊数据输出引脚时,时钟引脚将输出脉冲信号,指⽰该位数据已被写⼊数据输出引脚等待外设读取。

并且在使⽤本函数之前datapin和clockpin引脚应该设置为输出状态。

本函数⼀次只能输出⼀个字节的内容,也就是说最⼤⼀次只能输出255,如果⼤于255,就要多次调⽤这个函数。

7、unsigned long mills():回传单⽚机从开始执⾏到现在⽬前的时间(单位:ms)8、delay( number):占⽤单⽚机的时间(单位:ms)number:其代表占⽤单⽚机的时间长度9、delay Microseconds( number):占⽤单⽚机的时间(单位:us)number:其代表占⽤单⽚机的时间10、pulseIn(pin,state,timeout):读取脉冲宽度。

(完整word版)Arduino常用函数

(完整word版)Arduino常用函数

(1)pinMode(接口名称,OUTPUT或INPUT),将指定的接口定义为输入或输出接口,用在setup()函数里。

(2)digitalWrite(接口名称,HIGH(高)或LOW(低)),将数字输入输出接口的数值置高或置低。

(3)digitalRead(接口名称),读出数字接口的值,并将该值作为返回值。

(4)analogWrite(接口名称,数值),给一个模拟接口写入模拟值(PWM脉冲)。

数值取值0-255。

(5)analogRead(接口名称),从指定的模拟接口读取数值,Arduino对该模拟值进行数字转换,这个方法将输入的0~5V电压值转换为0~1023间的整数值,并将该整数值作为返回值。

(6)delay(时间),延时一段时间,以毫秒为单位,如1000为1秒。

(7)Serial.begin(波特率),设置串行每秒传输数据的速率(波特率)。

在与计算机进行通讯时,可以使用下面这些值:300、1200、2400、4800、9600、14400、19200、28800、38400、57600或115200,一般9600、57600和115200比较常见。

除此之外还可以使用其他需要的特定数值,如与0号或1号引脚通信就需要特殊的波特率。

该函数用在setup()函数里。

Serial.available() 的意思是:返回串口缓冲区中当前剩余的字符个数。

一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0时,说明串口接收到了数据,可以读取;Serial.read()指从串口的缓冲区取出并读取一个Byte的数据,比如有设备通过串口向Arduino发送数据了,我们就可以用Serial.read()来读取发送的数据。

while(Serial.available()>0){data= Serial.read();delay(2);}(8)Serial.read(),读取串行端口中持续输入的数据,并将读入的数据作为返回值。

arduino 常用函数

arduino 常用函数

arduino 常用函数Arduino是一款开源的电子开发平台,它基于简单易学的编程语言和开发环境,可以帮助用户快速地开发出各种各样的电子设备。

在Arduino的编程中,常用函数是非常重要的一部分,下面我们来详细了解一下。

1. pinMode()pinMode()函数用于设置Arduino板上的引脚的输入或输出模式。

它有两个参数,第一个参数是要设置的引脚号,第二个参数是要设置的模式,可以是INPUT、OUTPUT、INPUT_PULLUP等。

例如,pinMode(13, OUTPUT)表示将13号引脚设置为输出模式。

2. digitalWrite()digitalWrite()函数用于向Arduino板上的引脚输出高电平或低电平。

它有两个参数,第一个参数是要设置的引脚号,第二个参数是要输出的电平,可以是HIGH或LOW。

例如,digitalWrite(13, HIGH)表示将13号引脚输出高电平。

3. digitalRead()digitalRead()函数用于读取Arduino板上的引脚的电平状态。

它有一个参数,即要读取的引脚号。

例如,digitalRead(2)表示读取2号引脚的电平状态。

4. analogWrite()analogWrite()函数用于向Arduino板上的引脚输出模拟信号。

它有两个参数,第一个参数是要设置的引脚号,第二个参数是要输出的模拟信号的占空比,范围是0~255。

例如,analogWrite(9, 128)表示将9号引脚输出占空比为50%的模拟信号。

5. analogRead()analogRead()函数用于读取Arduino板上的引脚的模拟信号。

它有一个参数,即要读取的引脚号。

例如,analogRead(A0)表示读取A0引脚的模拟信号。

6. delay()delay()函数用于延时一定的时间。

它有一个参数,即要延时的时间,单位是毫秒。

例如,delay(1000)表示延时1秒。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

备注:Arduino Function: BLEPeripheral.connected()(缺失)Arduino BLE 函数库描述蓝牙低功耗(BLE)协议从蓝牙规范版本4.0开始。

虽然以前的规范只允许制作一种无线UART,但该版本允许更智能的资源使用。

结果是适用于大多数具有限制能量需求的芯片的低功率通信。

BLE协议由多个角色组成。

BLE节点可以作为外设,中央,广播和观察者。

广播角色周期性地发送具有数据的广告包。

它不支持建立连接。

理论上,广播机构的角色可以用于仅发射机的无线电。

观察者角色收听来自广播对等体的广告数据包中嵌入的数据。

中心是能够建立到对等体的多个连接的设备。

中心角色始终是连接的发起者,并且基本上允许设备进入网络。

外设使用广告包来允许中心找到它,并且随后建立与之的连接。

BLE协议经过优化,至少在处理能力和内存方面要求极少的外设实现资源。

中央和外围设备不得与客户端和服务器错误。

他们之间没有联系。

中央和外围设备可以是客户机,服务器或两者,具体取决于应用数据结构BLE数据结构分层组成。

属性是定义的最小数据实体。

属性被分组到服务中,每个服务可以包含零个或多个特征。

这些特征又可以包括零个或多个描述符。

每个服务,特征和描述符都由UUID标识。

通用唯一标识符(UUID)是保证(或具有高概率)的全局唯一的128位(16字节)数字。

您可以定义自己的UUID或使用标准的UUID。

每个属性都可以有权限。

权限是指定可以对每个特定属性执行哪些操作以及具体安全要求的元数据。

广告包(广播包)广告包是周边中心知道可用的方式。

在广告包中有关于外设的主要信息。

广告包长度为31字节,并且必须符合减少内部有效信息数量的特定格式。

如果中心想要进一步的信息,它可以发送一个扫描请求来请求另一个称为扫描响应的数据包,以便拥有其他31字节的信息。

如果您没有足够的数据传输,并且31字节(或62个最终)广告数据包就足够了,您可以实现广播者角色并传输数据,而无需建立连接。

如果您有更多的数据要传输,则必须执行外设角色进行传输。

有关广告包的进一步信息可以在此链接中找到,其中包含对此参数的基本介绍。

更多信息在本节中,我们尝试简要介绍BLE标准。

然而,BLE标准比这更广泛。

如果你想加深一些争论,那里是链接到BLE标准规范:https:///specifications/bluetooth-core-specification有关BLE的其他有用信息及其在nRF52上的工作方式可以在北欧半导体网站上找到:https:///index.jsp北欧还提供了一个有用的应用程序,通过BLE与您的板进行交互。

使用此应用程序可以读写特性并调试BLE通信:https:///eng/Products/Nordic-mobile-Apps/nRF-Connect-for -mobile-previously-called-nRF-Master-Control-Panel相关功能这个库由多个类组成:BLEPeripheralRole(或BLEPeripheral)用于启用具有外设角色的BLE模块BLECentralRole用于使BLE模块具有中心作用表示外设连接的设备的BLECentralPeer(或BLECentral)表示中央连接的设备的BLEPeripheralPeerBLEService用于启用电路板提供的服务BLECharacteristic用于实现电路板提供的特性BLED描述符用于描述其所指的特征由撰写函数介绍BLE:BLEPeripheralRoleBLEPeripheralRole是BLE库的一部分,允许您使用BLE来让您的电路板充当外设和广播角色。

该库由Sandeep Mistry的BLEPeripheral库导出。

该类的旧名称已被维护,以保持与该库完全兼容。

这意味着该类可以称为BLEPeripheralRole或BLEPeripheral indistinclty。

Arduino Function: BLEPeripheral Constructor名称BLEPeripheral描述BLEPeripheral类的构造方法句法BLEPeripheral blePeripheral = BLEPeripheral();参数无void返回没有Arduino Function: BLEPeripheral.beginbegin描述开始初始化BLEPeripheral对象并开始广告。

句法blePeripheral.begin();参数无void返回没有Arduino Function: BLEPeripheral.poll名称轮询描述为事件对广播进行轮询(询问)句法blePeripheral.poll();参数空虚返回没有注意此功能仅为了向后兼容而保留。

即使未调用此功能,所有BLE事件都将被转发。

Arduino Function: BLEPeripheral.end名称结束描述断开连接中央,停止广告,并禁用广播。

句法blePeripheral.end();参数空虚没有Arduino Function:BLEPeripheral.setAdvertisedServiceUuidsetServiceSolicitationUuid描述发布服务的UUID作为参数传递。

服务请求的用途是指示外设希望通过具有该特定服务的设备来连接。

句法blePeripheral.setServiceSolicitationUuid(UUID);参数uuid:const char *。

要广播的UUID返回没有注意您可以多次调用此功能来发布多个UUID。

由于广告包长度,广告UUID的最大数量有限制。

广告包的最大长度为62字节(分为广告包的31个字节和扫描响应包的31个字节),因此广告的UUID的最大数量被这个限制所限制,其他的你可能想要做广告作为设备名称,外观等)。

Arduino Function:BLEPeripheral.setServiceSolicitationUuid名称setServiceSolicitationUuid描述发布服务的UUID作为参数传递。

服务请求的用途是指示外设希望通过具有该特定服务的设备来连接。

句法blePeripheral.setServiceSolicitationUuid(UUID);参数uuid:const char *。

要广告的UUID返回没有Arduino Function: BLEPeripheral.setManufacturerData 名称setManufacturerData描述使用广告包发送个性化数据。

句法blePeripheral.setManufacturerData(manufacturerData,dataLength);参数manufacturerData:const unsigned char []。

要发布的字节数组。

dataLength:数组长度,最多26字节。

返回没有Arduino Function: BLEPeripheral.setLocalName名称setLocalName描述设置将为该设备发布的本地名称。

句法blePeripheral.setLocalName(“本地名”);参数const char *返回没有Arduino Function: BLEPeripheral.setAdvertisingInterval 名称setAdvertisingInterval描述设置广告间隔为毫秒,默认为100毫秒。

句法blePeripheral.setAdvertisingInterval(MS);参数ms:unsigned short。

两个广告包之间的间隔返回没有Arduino Function:BLEPeripheral.setConnectionInterval名称setConnectionInterval描述配置在与Central连接期间使用的参数。

句法blePeripheral.setConnectionInterval(minimumConnectionInterval,maximumConnectionInterval);参数minimumConnectionInterval:unsigned short。

最小连接间隔,以1.25 ms为增量。

maximumConnectionInterval:unsigned short。

最大连接间隔,以1.25 ms为增量。

Arduino Function: BLEPeripheral.setTxPower名称setTxPower描述将TX功率设置为dBm,默认值为0 dBm。

句法blePeripheral.setTxPower(TXPOWER);参数txPower:int。

TX功率(dBm)。

返回bool:成功之后,否则为false。

注意只能精确地设置某些值,否则使用下一个可设置值:-40,-30,-20,-16,-12,-8,-4,0,4Arduino Function: BLEPeripheral.setConnectable 名称setConnectable描述使外设可连接(**默认**)或不可连接(仅限广播)。

句法blePeripheral.setConnectable(连接);参数可连接:bool。

如果您希望板可连接,则为真,否则为false。

返回没有Arduino Function: BLEPeripheral.setBondStore名称setBondStore描述使用作为参数传递的bond store作为连接的绑定数据。

句法blePeripheral.setBondStore(bondStore);参数bondStore:BLEBondStore&。

BLEBondStore对象返回没有Arduino Function: BLEPeripheral.enableBond名称enableBond描述启用bonding并配置要使用的粘合类型。

一旦bonding过程完成,bond数据将被永久保存,即使在断电后,即使与同一远程对等体进一步连接,设备也将被bond。

要删除bond信息,请参阅clearBondStoreData函数。

句法blePeripheral.enableBond(bondType);参数bondType:BLEBondingType- 值:JUST_WORKS,DISPLAY_PASSKEY,返回没有注意如果未选择参数,则将选择默认参数(JUST_WORKS)Arduino Function: BLEPeripheral.clearBondStoreData名称clearBondStoreData描述清除债券数据。

相关文档
最新文档