当使用Keil编程DA14531 SMARTBOND TINY™模块时,当用户试图打开调试器会话时,可能发生错误。为了解决这个问题,用户必须将JTAG时钟速度降低到2MHz。< / p > < p >,以防这个错误发生时,请按以下步骤中描述< u > <强> 6.1节凯尔JTAG默认时钟速度< /强> < / u > < a href = " https://www.dialog - semiconductor.com/sites/default/files/um - b - 141 - _da14531_smartbond_tinytm_module_development_kit_hardware_user_manual_1.1.pdf”>嗯- b - 141 < / >用户手册来解决这个问题。< br / > < / p > < / div > < / div > < / div > < div class =”字段field-name-field-device field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >设备:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / forum-post-device / da14531-smartbond-tiny-module”“=“skos:概念”属性=“rdfs: label skos: prefLabel”datatype="">DA14531 SmartBond TINY Module
DA14531 SmartBond TINY™Module现在发布!
//www.wsdof.com/pr雷电竞官网登录oducts/bluetooth-module-da14531-smartbond-tiny
此外,对话串行端口服务(DSPS)和无代码现在可用于DA14531!
codelless
codelless允许您使用一组AT命令快速开始使用无线物联网应用程序。雷竞技安卓下载无代码AT命令平台允许通过BLE控制本地UART连接的设备以及远程设备。您可以创建简单的演示/应用程序/概念证明,而无需任何代码开发雷竞技安卓下载或构建自己的应用程序!点击这里了解更多信息!
Dialog Serial Port Service (DSPS)
DSPS模拟串行电缆通信。它提供了一个简单的替代RS-232连接,包括熟悉的软件流量控制逻辑通过蓝牙低能量。 The SPS software distribution includes the application and profile source codes and supports GAP Central/Peripheral roles. Click here for more info!
您好,
我正在尝试将字符从UART发送到一个BLE notify characteristics
一次发送一个字符可以正常工作
但是我在一次发送多个字符时遇到了一个问题:
-notify characteristics被更新了正确的次数(例如,当我通过UART发送5个字符时,通知特征会更新5次)
-但有些字符会重复(例如,当我通过UART发送“abcde”时,通知特征会更新为“aeeee”或“addde”、“abcee”…)
-为了确保从UART正确接收字符,我通过UART重新发送接收到的字符,就像“echo”一样,并且字符总是正确的下面是我正在使用的代码示例:
const int READ\u CHAR\u COUNT=1;静态字符缓冲区[READ\u CHAR\u COUNT+1];volatile bool uart\u receive\u finished=false;volatile uint16\u data\u received\u cnt=0;static uint8\u blebuff[1];void uart\u receive\u intr\u init(){uart\u receive\u finished=false;data\u received\u cnt=0;buffer[0]=0;uart_寄存器_rx_cb(UART1,uart_receive_cb);uart_receive(UART1,(uint8_t*)缓冲区,读取字符计数,uart_OP_INTR);}静态无效uart_receive_cb(uint16_t length){数据_received_cnt=length;uart_receive_finished=true;//将收到的字节放入环形缓冲区中(将字节放入缓冲区[0];uart_receive(uint8_*)拱门主回路回调用户用户的应用程序用户的应用程序上的系统上的系统上的系统供电的系统上的系统上的系统上的系统上的系统上的系统上的系统上的系统上的系统上的供电的(空)若(缓冲区)若(缓冲区)获取字符的计数,读字符的数量,读字符的数量,读字符的数量,读字符的数量,读字符的数量,读字符的计数,读写,读字符,读,读,读,读,读,读,计数,读,读,读,读,读,读,读,读,读,读,读,读,读,计数,读,读,读,读,读,读,读,读,读,读,读,读,读,读,读,计数,读,读,读,读,读,计数,读,读,读,读,读,读,计数,读,读,读,读,读,读,读,读,读,读,读,读,读,读,读,读,读(乌伦)静态uint8_t sample_u u t SECTION_ZERO(“保留内存区域0”);sample=blebuf[0];req->;handle=SVC1_IDX_LONG_VALUE_VAL;req->;length=DEF_SVC1_LONG_VALUE_CHAR LEN;req->;notification=true;memcpy(req->;VALUE,&;sample,1);keu msg_send(req);uart_send(UART1,&;sample,1,1,uart_OP)/“阻塞”字符检查uart}返回保持通电
提前感谢
您好,
我的要求如下:
1.将现有的BLE代码与UART功能集成,以便我可以传输和接收来自外部MCU(主机)的数据通过UART。
2。一旦建立起来,我想在MCU(主机)读取数据时传输大约3000字节的数据结束。
到目前为止,我只能通过UART发送和接收一个字节的数据,而无需添加任何BLE代码。
您能建议一种有效的方法吗?
我已经查看了DSPS代码,但无法找出如何在不中断BLE流的情况下处理传入的批量数据。
我想知道DA14531模块是否能够运行这个应用程序?我计划为DA14531接口一个外部SPI CANBUS控制器
谢谢
I tested the uart example from sdk without problem
I am now trying to add uart to the ble_peripheral example :
- I can write bytes to the characteristics wich are transmitted to UART without problem
- Now I have a problem with UART receive interrupt which is never triggered when I send bytes, but using blocking mode works without problem
I used the same settings as the uart example, should I do anything else to import a non-ble example to the ble_app_peripheral project ?
I am working with Keil in debug mode
我已经遵循了数据表和应用程序说明中显示的所有步骤,AN-B-072 ,但我不能通过SPI启动设备,从服务器在传输premable数据字节后不响应ack字节。我知道用这样的查询张贴波形对调试问题是很有帮助的,但每次我探测到我的CRO的引脚,我得到一个非常嘈杂的信号。我需要在什么时间发送数据?我目前已经将DA14531的3v3引脚连接到一个GPIO,并控制它的电源。
在DA14531的电源上,我设置了一个20ms的延迟,如应用说明AN-B-072,然后发送前导字节,之后我在MISO线上连续侦听以获取ACK数据。请尽快帮我解决这个问题。< / p > < / div > < / div > < / div > < div class =”字段field-name-field-device field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >设备:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / forum-post-device / da14531-smartbond-tiny-module”“=“skos:概念”属性=“rdfs: label skos: prefLabel” datatype="">DA14531 SmartBond TINY Module
亲爱的对话框,
感谢您的回答。
可以通过禁用用户at\u命令中的两行\define来减小图像大小:(其余的define没有显著的大小缩减效果)
/#define USE_在_CONPAR和/#define USE_在_BND有效,链接后,报告的代码大小为:27812(对于无代码数据泵)。因此,我现在可以编译该项目,而无需额外的Keil许可证。重建该项目对我来说是必要的,因为原始的AT+GAPSCAN命令在扫描外围设备(如宣传遥测数据的信标)时遇到了严重问题。最初它只是扫描其他对话框外围设备,并且只列出了地址,没有公布的原始数据,因此我不得不修改函数:void user_on_adv_report_ind(struct gapm_adv_report_ind const*param)user\u codeless.c文件中的,但它现在可以工作了。
非常感谢您的支持。
-Janos-
According to the DA14531 datasheet, the timer power domain (PD_TIM) can be kept alive during deep sleep mode, which means that the RTC can be kept running. Upon a button press, the device should wake up from deep sleep and RTC date/time should be persisted and not lost (it's always reset/initialized to 0 after coming out of deep sleep).
The idea is to set the device date/time once during manufacturing of the device (and always re-sync whenever there is a connection to an app), but never not to know date/time at all.
Does anyone know how to keep RTC date/time information when waking up from deep sleep?
Many thanks and best regards,
Josef