2.入门¶
2.1.如何使用无代码¶
无附件是一种快速的Bluetooth®低能量解决方案,可以在盒子中使用而不写入单行源代码。它使用了可用于执行各种任务的命令(ASCII指令)的众所周知的概念,特别是: - 控制BLE连接:BLE CONNECT / DISCONNECT,广告,停止广告,更改角色(中央/外围设备),扫描附近的设备,报告BLE地址等 - 与环境/传感器的交互读出:设置/获取GPIO,读取外部接口,读取电池,报告GPIO状态等
这些AT命令将允许控制本地设备和远程设备,允许您轻松地集成到第三方微控制器。
一个人可以简单地从终端控制,不需要IDE !
用户可以自由选择任何第三方终端或Dialog自己的终端无代码的主机应用程序.有关更多信息以及如何在本地PC中下载应用程序,请参阅Chatper 7。
Android用户可能想要查看Dialog的SmartConsole中的AT命令执行应用程序。更多信息请参阅第8章。
2.2。硬件设置¶
实现无附带示例的一般设置如下。本手册介绍了Pro-kit的使用,以显示示例,但您也可以使用基本套件。下面给出用于实现DA14531和DA14585 / 586的无附属例的设置。
在DA14531 Pro-DK主板上设置:
要在终端上快速开始使用codelless,只需使用下面提到的Booter配置从SysRAM下载并执行即可。要从SPI Flash执行,请参考在这里按照步骤来编程SPI Flash。
- 使用DA14531 Pro-DK主板,DA14531,DA14531模块,DA14585或DA14586 DaugterBoard可与相同的蝇线和跳线连接一起使用
- DA14531 USB套件不能配置为从SPI flash引导,也操作2/4线UART -由于这个原因,它不适合用作无代码平台。
- 使用飞线连接J1[UTX]到J2[P26], J1[URX]到J2[P25], J1[URTS]到J2[P27], J1[UCTS]到J2[P28],如下图所示
- 使用跳线启用SPI Flash,如下图所示,并连接其余跳线,如图所示
- 将Pro-DK通过USB线连接到PC
- 3个led会点亮,即D1, D2和D4
以下也是Pro-DK主板到DA145xx (`DA14531 / DA14585 / DA14586)子板概述。
在DA14580 PRO-DK或DA14585 / 586基本套件上设置:
- 连接需要同时访问SPI-Flash和UART接口的3路跳线(跳线用红色标记)
- 通过USB电缆将Pro-套件连接到您的PC
- 3个led会点亮,即D1, D4和D6
- 对于LED示例,使用Pro-kit时,LED D3切换和基本套件LED D7切换
请注意
红色方块表示应该放置跳线的位置。
2.3.软件设置¶
无附带的SDK随着以下的载手。根据SOC和应用程序,用户可以下载相应的固件。
SDK提供的预编译二进制文件列表如下:
- DA14585/586无代码(codeless_585.hex)
- DA14531 datapump的无代码(codeless_531_datapump.hex)
- DA14531独立的无代码(codeless_531_standalone.hex)
- DA14531独立设置两种(Dodeless_531_Standalone_set_two.hex)无附加无附带
对于手册中的示例,使用了DA14531 standalone的CodeLess (SET TWO)。此外,根据应用程序和每个固件支持的命令集,用户可以自由选择合适的。要查看每个目标支持的命令列表,请参阅表8.
同样,用户也可以添加他们的自定义命令,只需遵循第6章,并使用Keil编译器编译代码。
要快速播放此操作,请按照以下步骤发送您的第一个AT命令。
- 使用SmartSnippets™工具箱将无代码固件加载到DA14531/DA1458x。使用Booter over Serial wire debug (SWD)下载固件到SysRAM或使用Flash Programmer刻录固件到Flash并从Flash执行。请参考SmartSnippets™工具箱用户手册第8章和第13章。
- 打开SmartSnippets™工具箱,然后选择项目或使用任何相应的名称,JTAG序列号,目标创建一个新的项目,然后单击“打开”,如此,
- 转到工具并选择启动器。电路板安装如图所示。浏览到您的固件并点击下载,像这样,
要发送AT命令,使用终端与板进行以下设置通信,如:
- 端口:< COM_Port >
- 波特率:57600
- DataBits: 8
- stopbits:1
- 奇偶校验:无
- 流量控制:无
- 传输文本:附加CR
- 发送你的第一个AT命令,像这样,
请注意
当DA14531/DA1458x启动时,它将保持清醒10秒,然后进入延长睡眠。如果在10秒窗口内通过UART接收字符,设备将保持清醒,直到接收到睡眠命令(AT+ sleep =1)。通过UART发送一个“@”来唤醒沉睡的设备。
另外,对话框SmartBond™Flash程序员工具允许用户为DA14531 SoC编写一个flash设备。这是一种使用无代码的更快的方法。十六进制文件列表如下图所示:
安装非常简单,使用工具的说明在用户手册嗯- b - 138.
展示Dialog SmartBond™Flash程序员工具
2.4。无附庸的蓝牙服务¶
无代码业务的UUID为:866d3b04-e674-40dc-9c05-b7f91bec6e83。无代码服务提供如下表所示的特征:
特征 | UUID | 长度 | 属性 | 评论 |
---|---|---|---|---|
无代码入站命令特征 | 914F8FB9-E8CD-411D-B7D1-14594DE45425 | 1 - 165字节 | 读,写 | 可以在此写入无附带的AT命令。不使用read属性。 |
无代码出站命令特征 | 3BB535AA-50B2-4FBE-AA09-6B06DC59A404 | 1 - 165字节 | 读,写 | 可以读取以前发出的AT命令的响应。未使用写属性。 |
无代码流控制特性 | e2048b39 d4f9 - 4 - a45 9 f25 - 1856 c10d5639 | 1个字节 | 通知,阅读,写 | 数据可从BLE无附带对等体获得的通知。 |
除了无代码服务外,该软件还支持SUOTA服务和DSPS服务。
2.5。SPI集命令¶
基于底层控制器硬件,无代码软件支持使用专用命令集的串行外设接口操作。支持的操作有:SPI配置、外部设备读写,但有一定的限制:—codelless Software只支持SPI主模式操作。—不支持多个从设备。—SPI时钟频率支持2,4,8mhz
有关专用SPI命令集的更多细节,请参阅第9章。
2.6。活动管理¶
无代码软件支持多个事件,这些事件可用于向外部主机指示设备的状态。如果激活,每个事件输出一个特定的字符串到串口。目前支持六项活动,包括:
- 在初始化时:如果启动事件,一旦设备初始化,将打印未经请求的消息,将打印到串行端口以指示设备正在工作。从设备上的这一点是完全函数的,并且可以在命令发送到串行端口。
- 在连接上:如果事件被激活,一旦蓝牙连接建立,codelless软件将发送一个未经请求的消息到串口。
- 断开连接:如果激活该事件,一旦蓝牙连接被断开,就会向串口发送一条未经请求的消息,表明设备已断开连接。
- On wakeup:如果事件被激活,当设备从睡眠中醒来时,一个主动的消息将被发送到串口。
默认情况下,所有事件都会禁用启动状态,用户必须使用第9章中记录的相关事件管理命令启用所需的事件。可以随时查询事件的状态。请注意,如果在源代码中激活非易失性存储,否则在复位或电源周期的情况下,未保留的事件的状态。如果激活了非易失性存储,则无附加软件将尝试恢复启动时事件的状态。如果不是,则必须由主机再次激活任何所需的事件。如果无附加软件处于二进制传输模式,则不会打印任何事件。
2.7。绑定数据库管理¶
绑定允许两个连接的设备交换和存储安全性和身份信息以创建可信关系。因此,在未来,可以重新建立加密连接,而无需第二次交换加密密钥。无附加软件支持绑定数据库,可以存储多个外部设备的绑定信息。实施具有以下特征:
- 该数据库可以存储多达5个不同设备的绑定信息
- 如果数据库没有满,而新的绑定条目到达,它将存储在一个空槽中
- 如果数据库已满且到达新的绑定信息,则旧的绑定条目将被删除。新条目将成为数据库中最近的条目。
- 条目可以被标记为持久的。持久条目不参与替换机制,无论新到达的条目如何,它都保留在数据库中
- 如果所有条目都被标记为持久化,那么就不能在数据库中存储更多的绑定信息
- 如果使用数据库条目重新建立连接,则此条目将成为数据库中最新的一个条目
可以使用一组相关的AT命令来管理数据库。相关命令可以清除绑定数据库、更改表项的持久化状态、删除所选表项和从外部主机导入表项。必须注意的是,键合数据库不保留在复位或电源周期。因此,数据库必须导出,然后由主机重新导入。
2.8。事件处理程序¶
除了事件管理支持外,codelless软件还支持在三个预定义事件(连接时、断开时和唤醒时)上执行AT命令。用户可以从codelless命令集中输入一组命令,当事件发生时,这些命令将按顺序执行,就像用户通过控制台输入命令一样。如果处理程序为空,则不会执行任何命令。
2.9。流量控制和睡眠模式¶
使用AT+FLOWCONTROL命令可以使用UART RTS/CTS信号进行硬件流量控制。当设备启动时,默认情况下不使用硬件(HW)流控制。在二进制模式下,HW流量控制信号设备缓冲区的可用空间(RTS)和主机的可用性(CTS)。在命令模式下,RTS/CTS信号在提示其休眠模式或唤醒设备或主机方面具有重要作用。流量控制与睡眠模式紧密相连。
主机可以使用AT + Sleep命令启用或禁用无附件设备的睡眠模式。
- 如果HW流量控制被禁用,设备可能从UART RX信号的高到低过渡唤醒,这可能是一个值为0x00的虚拟UART字节。
- 如果HW流量控制启用,设备的RTS信号将被取消。该装置可能从CTS信号的高到低过渡中被唤醒。
还支持主机休眠模式。如果主机希望进入自己的睡眠模式,它应该使用AT+HOSTSLP命令通知无代码设备。
- 如果HW流量控制被禁用,设备将通过发出
for every 来唤醒主机。 - 如果启用了HW Flow Control,则设备将通过为
切换其RTS来唤醒主机。
在这两种情况下,主机应通过发出“在”命令来确认唤醒。
请注意
在二进制模式下,如果流量控制被禁用(使用AT+FLOWCONTROL),设备永远不会进入休眠模式,因为这会导致数据丢失。如果流量控制是启用的,那么当设备在连接事件中处于活动状态时,就断言RTS信号。
表2和表3提供了关于有和没有HW流量控制的睡眠模式的信息,如:
命令格式 | 进入睡眠 | 退出睡眠 | 描述 |
---|---|---|---|
设备的睡眠 | AT +睡眠= 1 | 来自主机的一个虚拟字节0x00 | 这并不会暂停设备的所有功能;它能延长睡眠时间。设备将通过AWAKE字符串确认退出休眠模式。 |
主机的睡眠 | 在+ HOSTSLP = 1, 0, 100, 1000 | 通过发送字节0x00。 | 将要发出的字节是AT+HOSTSLP的第二个参数。主机应该用AT命令确认退出休眠模式。 |
命令格式 | 进入睡眠 | 退出睡眠 | 描述 |
---|---|---|---|
设备的睡眠 | AT +睡眠= 1 | CTS信号(设备输入)的高到低。 | 这不会暂停无附件设备的每个功能,可延长睡眠。RTS将被赋予。该设备将通过唤醒字符串确认退出睡眠模式,并将其置位RTS。 |
主机的睡眠 | 在+ HOSTSLP = 1, 0, 100, 1000 | 对RTS信号的低电平(输入到主机)。 | AT+HOSTSLP的第二个参数无效。主机应该用AT命令确认退出休眠模式。 |