DA14585的所有优点都具有更大的灵活性。
ISM14585-L35-P8提供最小、最低功耗和最集成的蓝牙®解决方案,最高可达8Mbit的Flash和可选的板上范围扩展放大器。
这个多功能模块非常适合将低能耗蓝牙添加到远程控制、邻近标签、信标、联网医疗设备和智亚博电竞菠菜能家庭节点等产品中,支持所有蓝牙开发,包括蓝牙5。它甚至有一个集成的麦克风输入语音命令支持。
ISM14585-L35-P8易于设计,并支持独立应用程序和托管应用程序。亚博国际官网平台网址它由Dialog的完整开发环境(包括SmartSnippets™软件)支持,以支持快速原型设计、大规模生产设计和优化功耗。
特性
DA14585 BLE5.0 SoC
集成8Mb SPI Flash板
集成SkyWorks PA在飞机上增加TX功率
集成16Mhz和32kHz振荡器
综合10 b ADC
综合电源管理单元
FCC、CE、IE认证完成
选择一个认证的嵌入式天线或认证的w.fl外部天线
1.8 - 3.6V工作电压
所有需要的无源元件
LGA封装6.0mm x 8.6mm x 1.2mm
亚博国际官网平台网址
物联网应亚博国际官网平台网址用
声控遥控器
键盘和鼠标
连接传感器
信号灯和标签
家庭自动化
连接的玩具
家用电器
相关链接
开发工具包和参考设计
iotcomboevk - 14585装备 |
DA14585
5个月前
如何重置da14585-development-kit-pro
发布的koson55分 5回复嗨
我在da14585-development-kit-pro上运行项目。
当我调试时,我想重置。
但我发现装备已经坏了,没法往上跑了。
我使用函数像extern void platform_reset_func(uint32_t error);
空白my_reset_func(空白)
{
uint16_t tmp;
//触发SW复位
tmp = GetWord16 (SYS_CTRL_REG);
tmp = (tmp & ~REMAP_ADR0) | 0;//映射ROM地址0
tmp | = SW_RESET;
SetWord16 (SYS_CTRL_REG tmp);
}
Int16_t CNT __attribute__((section("retention_mem_area0"), zero_init));Static void send_data_timer_cb() {struct custs1_val_ntf_ind_req *req;/ /静态int问= 0;uint8_t nusdata_buf (50 + 4) = {0 x4d, 0 x51 0×,0 x8d 0 x16, 0 x35 0 x17, 0 x28 0 x05 0 xea, 0 x01 \ 0 x24 0 x1d 0 x19 0 xe5 0 x19 0 x98 0 x00, 0 x15 0 x06 0 x01, 0 x02 \ 0 x07 0 x0b 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 \ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 \ 0 x00, 0 x00, 0 x00, 0 x00, 0中,0 x6b 0 x1, x2 0, 0 x3, 0 x4};req = KE_MSG_ALLOC_DYN(CUSTS1_VAL_NTF_REQ, prf_get_task_from_id(TASK_ID_CUSTS1), TASK_APP, custs1_val_ntf_ind_req, DEF_SVC1_TX_CTRL_CHAR_LEN);申请- >处理= SVC1_IDX_TX_CTRL_VAL;申请- >长度= sizeof (nusdata_buf);申请- >通知= true;Memcpy (req->值,nusdata_buf, sizeof(uint8_t)* req->长度);ke_msg_send(要求的); Z_timer = app_easy_timer(100, send_data_timer_cb); if(++cnt>=3) { cnt=0; my_reset_func();-------------- } }
那么如何重置或重启呢?
5个月前
谢谢
我得到它!
我的目的是用网关测试ble TXRX,所以我写了上面的代码
无法重置,所以我将代码改为adv- connect- disconnect- adv- connect- disconnect。。。
代码
Static void param_update_request_timer_cb() {app_easy_gap_param_update_start(app_connection_idx);app_param_update_request_timer_used = EASY_TIMER_INVALID_TIMER;} void my_disconnected_func(void) {app_easy_gap_disconnect(app_env[0].conidx);app_easy_gap_advertise_with_timeout_stop ();} int16_t CNT __attribute__((section("retention_mem_area0"), zero_init));struct custs1_val_ntf_ind_req *要求=零;Static void send_data_timer_cb() {// Static int cnt=0;静态uint8_t nusdata_buf (50 + 4) = {0 x4d, 0 x51 0×,0 x8d 0 x04 0 x00, 0 x70、0 xcb 0 xea, 0 x80 0 x01 \ 0 x24 0 x1d 0 x19 0 xe5 0 x19 0 x98 0 x00, 0 x15 0 x06 0 x0d 0 x00 \ 0 x00, 0 x01, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 \ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 \ 0 x00, 0 x00, 0 x00, 0 x00, 0中,0 x6b 0 x30 0 x11, 0 x10, 0 x31};Uint16_t CRC = crc16_calculate(&nusdata_buf[11],37);Memcpy (&nusdata_buf[11 + 1* 37],&crc, sizeof(uint16_t)); if (req !=NULL) KE_MSG_FREE(req); req = KE_MSG_ALLOC_DYN(CUSTS1_VAL_NTF_REQ, prf_get_task_from_id(TASK_ID_CUSTS1), TASK_APP, custs1_val_ntf_ind_req, DEF_SVC1_TX_CTRL_CHAR_LEN); req->handle = SVC1_IDX_TX_CTRL_VAL; req->length = sizeof(nusdata_buf); req->notification = true; memcpy(req->value, nusdata_buf, sizeof(uint8_t)* req->length ); ke_msg_send(req); Z_timer = app_easy_timer(500, send_data_timer_cb); if(++cnt>=30) { my_disconnected_func();------ } if(++cnt>=60) { cnt=0; user_app_adv_start(); } }
函数my_disconnected_func可能会导致IDE KEIL死亡
那么如何写my_disconnected_func
谢谢
5个月前
嗨koson,
你能澄清一下你关于my_disconnected_func的陈述吗?
你是指如何触发my_disconnected_func吗?如果是,您可以通过调用app_easy_gap_disconnect() API发送BLE断开连接命令。
谢谢,PM_Dialog
5个月前
嗨koson,
这是正确的你试图SW重置DA14585: SYS_CTRL_REG[SW_RESET]应该设置为' 1 '。
然而,在SW复位后,设备可能会“死亡”。
当使用Keil Ide时,应用程序代码存储在System-RAM中,芯片从那里启动。因此,在重置DA14585时,代码丢失了,应该重新编程。
谢谢,PM_Dialog