3.无编码的例子

3.1.GPIO引脚参考

端口引脚引用为两位十进制数:
  • 第一位数字是端口号,第二位数字是引脚号

  • 端口1,引脚3 (P1_3)因此被引用为“13”

  • 端口0,引脚2 (P0_2)被引用为“02”或简单的“2”

例如,将P0_3设置为上拉输入(GPIO类型2):

在+ IOCFG = 3, 2

请注意

P0_5和P0_6用于UART接口,不能分配给其他功能。只能使用P0_0 ~ P0_3端口作为模拟输入。

3.2.第一个例子

你可以从你发送的第一个例子开始作为一个命令在终端上,你接收好吧.这将验证连接是否已建立。

  • 在“给出了无代码版本和类型描述

  • 在+ BDADDR显示您的BD地址,如所示图21

_images / simpletest.png

图21简单的测试

9节详细的命令语法。

请注意

确保按原样对命令使用CAPS区分大小写的

请注意

说明在输入AT命令时,命令末尾不要添加空格。

3.3.例子-本地委员会

3.3.1.切换了

DA14585/586的AT命令:

  • (通过返回“OK”来验证连接)

  • 10 + IOCFG = 4(“10”表示端口1,引脚0;“4”表示IO功能,这里的4表示IO输出)

  • 10 + IO = 1(AT+IO=10,0 for LED OFF)

  • 用户LED D3已切换

_images / ex1.png

图22切换了

DA14531的AT命令:

  • (通过返回“OK”来验证连接)

  • 在+ IOCFG = 9, 4(“9”表示端口0,引脚9;“4”表示IO功能,这里的4表示IO输出)

  • + IO = 9, 1(AT+IO=9,0 for LED OFF)

  • 用户LED D5处于切换状态

_images / ex1_531.png

图23切换了

请注意

在基本和专业套件中,确保J9套头衫是连接的。

3.3.2.读ADC

请注意

这里模拟输入连接到3V电源。

DA14580 Pro-DK操作步骤:

  1. 如图所示,连接P0_2与VBAT_580。

    _images / ex2.png

    图24读取ADC设置

  2. 连接后,为DA14585/586发送以下AT命令:

    • 在+ IOCFG = 2, 6(P0_2, 6为模拟输入)

    • 在+ ADC = 2(从P0_2读取值)

ADC值显示为934(10位ADC值),可以通过以下操作将其转换为Voltage值:

_images / adccalc.png

图25ADC的计算

你可以从外部电源连接一个模拟电压,然后再做一次实验。通过这种方式,您可以验证您所测量的电压与输入电源相比。

请注意

目前DA14531不支持AT+ADC。有关更多信息,请参阅无代码SDK的发布说明。有关通用ADC (GP-ADC)的详细信息,如可配置衰减器,输入移位器等,请参阅DA14531数据表26章。

请注意

ADC输入端电压为3V时,ADC值约为930。可测量的最大电压为3.6V,衰减为3倍。

3.3.3.写/读I2C

我们会用到Adafruit MCP9808 I2C温度传感器读取温度值。连接如图14所示。

DA14585/586与DA14580 Pro-DK的连接:

  • Vdd <-> VBat

  • Gnd <-> Gnd

  • SCL <-> p1_1

  • Sda <-> p0_2

_images / i2c.png

图26I2C硬件设置- 580 Pro-DK

DA14585/586 AT命令:

  • 在+ IOCFG = 11, 7(引脚P1_1用“11”表示为SCL,“7”为I2C CLK的硬件AT命令…请参阅AT命令部分)

  • 在+ IOCFG = 2, 8(引脚0_2,“8”为I2C SDA的硬件AT命令)

  • 在+ I2CSCAN(这为您提供了传感器从地址,如图所示为0x18)

  • 在+ I2CCFG = 7400, 16岁从寻址位数:7位为“7”,10位为“10”;比特率:“100”表示100kbit /s,“400”表示400kbit /s;从寄存器宽度:8位为“8”,16位为“16”。)

  • 在+ I2CREAD = 0 x18, 5(读取硬件地址0x18的传感器,寄存器5)

_images / i2c2.png

图27I2C终端

我们收到的读数是0xC195,换算成25.3°C

_images / tempe.png

图28I2C温度计算(数据来源:MCP9808 Datasheet)

计算:

Ta =(上字节* 16 +下字节/16)

Ta = (1 * 16 + 149 / 16)

Ta = 25.3°C

DA14531与DA14531 Pro-DK的连接:

  • Vdd <-> V3

  • Gnd <-> Gnd

  • SCL <-> p0_9

  • Sda <-> p0_11

_images / i2c_531.png

图29I2C硬件设置- 531 Pro-DK

DA14531 AT命令:

  • 在+ IOCFG = 9, 7(引脚P0_9在这里表示为“9”作为SCL,“7”是I2C CLK的硬件AT命令…请参阅AT命令部分)

  • 在+ IOCFG = 11, 8(引脚0_11,“8”为I2C SDA的硬件AT命令)

  • 在+ I2CSCAN(这为您提供了传感器从地址,如图所示为0x18)

  • 在+ I2CCFG = 7400, 16岁从寻址位数:7位为“7”,10位为“10”;比特率:“100”表示100kbit /s,“400”表示400kbit /s;从寄存器宽度:8位为“8”,16位为“16”)

  • 在+ I2CREAD = 0 x18, 5(读取硬件地址0x18的传感器,寄存器5)

3.3.4.命令序列DA14531/DA14585/DA14586

命令可以存储在命令槽中,由命令或定时器触发。下面是一个闪烁的例子,每1秒切换一次基本套件的面板指示灯:

  • 10 + IOCFG = 4(设置引脚10为GPIO输出)

  • + CMDSTORE = 0, + IO = 10 1; + TMRSTART = 0 1100(命令槽号0:打开指示灯,1秒后运行命令槽号1)

  • + CMDSTORE = 1, + IO = 10 0; + TMRSTART = 1, 0100(命令槽位1:关闭指示灯,1秒后运行命令槽位0)

  • 在+ CMDPLAY = 0(0号命令槽触发命令序列)

3.4.示例-远程板

执行远程AT命令的一般设置类似于上面示例中所示的设置,除了我们有另一个具有类似配置的板。

DA14585/586和DA14531的电路板设置如下所示。任何组合都是可能的。

  • DA14531和DA14585/586(远程)

  • DA14531和DA14531(远程)

  • DA14585/586及DA14531(远程)

  • DA14585/586及DA14585(遥控)

设置:

  1. 通过USB连接DA14531 Pro-DK和DA1458x Pro-kit。

  2. 和前面一样,记录设备管理器中的COM端口。

  3. 注意两块单板的BD地址。

  4. 从服务器或客户端执行远程AT命令。

请注意

注意AT命令中的“r”。表示您指的是远程板。

_images / remote.png

图30DA14531和DA14585/586组合的远程示例设置(远程)

3.4.3.写/读I2C

设置:

这些连接类似于本地示例中已经完成的连接。你可以参考这个图来做连接。

_images / i2c_remote.png

图33远程I2C设置

DA14585/586的AT命令:

  • 在+ ADVSTOP

  • +中央

  • 在+ GAPSCAN

  • AT+GAPCONNECT =

  • 阿特

  • ATr + IOCFG = 11, 7ATr + IOCFG = 9, 7DA14531)

  • ATr + IOCFG = 2, 8ATr + IOCFG = 11, 8DA14531)

  • ATr + I2CSCAN

  • ATr + I2CCFG = 7400, 16岁

  • ATr + I2CREAD = 0 x18 5

我们接收到0xC170的读数,它转换为23°C.计算的方法与本地I2C示例类似。

_images / temprem2.png

图34远程—I2C

3.4.4.读ADC

连接如图35所示,与Local示例类似。

_images / adcrem.png

图35远程- ADC

DA14585/586的AT命令:

  • 在+ ADVSTOP

  • +中央

  • 在+ GAPSCAN

  • 在+ GAPCONNECT = < BD_address_of_peripheral >, R

  • 阿特

  • ATr + IOCFG = 2, 6ATr+IOCFG=3,6 DA14531

  • ATr + ADC = 2DA14531的ATr+ADC=2

ADC值为915(10位ADC值),可以转换为电压值2.951 V。

_images / adcrem2.png

图36远程- ADC