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

图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已切换
![]()
图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处于切换状态
![]()
图23切换了
请注意
在基本和专业套件中,确保J9套头衫是连接的。
3.3.2.读ADC
请注意
这里模拟输入连接到3V电源。
DA14580 Pro-DK操作步骤:
如图所示,连接P0_2与VBAT_580。
图24读取ADC设置
连接后,为DA14585/586发送以下AT命令:
在
在+ IOCFG = 2, 6(P0_2, 6为模拟输入)
在+ ADC = 2(从P0_2读取值)
ADC值显示为934(10位ADC值),可以通过以下操作将其转换为Voltage值:
![]()
图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

图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)

图27I2C终端
我们收到的读数是0xC195,换算成25.3°C

图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

图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(遥控)
设置:
通过USB连接DA14531 Pro-DK和DA1458x Pro-kit。
和前面一样,记录设备管理器中的COM端口。
注意两块单板的BD地址。
从服务器或客户端执行远程AT命令。
请注意
注意AT命令中的“r”。表示您指的是远程板。

图30DA14531和DA14585/586组合的远程示例设置(远程)
3.4.1.广告/扫描
按照AT命令集扫描并连接到外围设备
在+ ADVSTOP
+中央
在+ GAPSCAN
在+ GAPCONNECT = < BD_address_of_peripheral >, R
阿特(“r”在这里指遥控板)
请注意
如上所示,BDADDR是DF:CF:E7:66:8D:6C,R,其中6个字节表示您的设备的唯一BD地址,R表示随机地址。

图31远程GAP扫描和连接
3.4.2.眨眼了
下面列出的AT命令集将扫描并连接到您的外围设备并闪烁LED。
在命令:
在+ ADVSTOP
+中央
在+ GAPSCAN
在+ GAPCONNECT = < BD_address_of_peripheral >, R
阿特
ATr + IOCFG = 10, 4
ATr + IO = 10, 1(LED D3开关)
ATr + IO = 10, 0(关闭LED D3)
- DA14531:
-
ATr + IOCFG = 9, 4
ATr + IO = 9, 1(打开LED D5)
ATr + IO = 9, 0(关闭LED D5)

图32远程-闪烁LED
3.4.3.写/读I2C
设置:
这些连接类似于本地示例中已经完成的连接。你可以参考这个图来做连接。

图33远程I2C设置
DA14585/586的AT命令:
在+ ADVSTOP
+中央
在+ GAPSCAN
AT+GAPCONNECT =
阿特
ATr + IOCFG = 11, 7(ATr + IOCFG = 9, 7DA14531)
ATr + IOCFG = 2, 8(ATr + IOCFG = 11, 8DA14531)
ATr + I2CSCAN
ATr + I2CCFG = 7400, 16岁
ATr + I2CREAD = 0 x18 5
我们接收到0xC170的读数,它转换为23°C.计算的方法与本地I2C示例类似。

图34远程—I2C