1、SF32LB58平台,现阶段基于watch例程,想新增一个蓝牙主设备的程序,主动连接从设备并且能正常通信。
现在遇到的问题是,基于附件的代码,现在新增的程序能正常的连接从设备,但是接收不到从设备的数据,帮忙看看哪里出现问题。
simple_ble_master.c (9.0 KB)
1、SF32LB58平台,现阶段基于watch例程,想新增一个蓝牙主设备的程序,主动连接从设备并且能正常通信。
现在遇到的问题是,基于附件的代码,现在新增的程序能正常的连接从设备,但是接收不到从设备的数据,帮忙看看哪里出现问题。
simple_ble_master.c (9.0 KB)
只是看附件代码没看出什么,方便将整个工程进行上传,并告知操作流程以及预期现象和实际现象吗
工程太大了,发送不了,现在就是串口发送数据,然后启动下面simple_ble_start(void)这个函数。
因为原例程是作为从设备被手机连接。现在想法是新增一个任务,设备同时作为从设备跟主设备,作为主设备可以连接其他从设备,并且能跟从设备进行通信。现阶段遇到的问题是:启动之后,连接成功了,但是不能通信。连接打印的数据如下:从设备一直在发送数据,主设备没有接收并且打印。
[119842] drv.lcdp: DSI error code 80
[119845] nv3051f1: ESDCehck PowerMode 0x9c
[144549] drv.lcdp: DSI error code 80
[144553] nv3051f1: ESDCehck PowerMode 0x9c
[U5] 585a0103000001010f00000008A585
[157249] simple_ble: Start scanning for devices with name: KEEY FOUR
[157258] BLE_GAP: evt 161, ret 0
[157319] BLE_GAP: evt 164, ret 0
[157322] simple_ble: Scan started
[157326] ble_connect: Scan start status 0
[157330] ble_talk.rev: Scan start status 0
ble_tool_event_handler, id:50
[157617] simple_ble: Found device: KEEY FOUR
[157622] simple_ble: Target matched!
[157625] simple_ble: Target found, stopping scan…
ble_tool_event_handler, id:73
ble_tool_event_handler, id:73
[157637] simple_ble: Scan stopped, reason: 0
[157642] ble_connect: Scan stopped 0
[157645] ble_talk.rev: Scan stopped 0
ble_tool_event_handler, id:51
[157651] BLE_GAP: evt 165, ret 0
[157655] ble_talk.rev: Scan stop
ble_tool_event_handler, id:52
[157661] BLE_GAP: evt 162, ret 0
[157665] BLE_GAP: evt 167, ret 0
[157689] BLE_GAP: evt 164, ret 0
ble_tool_event_handler, id:53
[157973] ble_cm: BLE_GAP_CONNECTED_IND
[157977] ble_cm: connection_manager_event_process 0x40
ble_tool_event_handler, id:176
[157985] ble_cm: connection_manager_connection_state_change 0x20 to 0x23
[157992] sibles: tb cb:100ce411,id:3
[157996] sibles: tb cb:100d0689,id:4
[157999] sibles: tb cb:100e3c6d,id:1
[158003] sibles: tb cb:1035ba3d,id:6
[158006] DFU_P: Peripheral should be slave!!!
[158011] DFU_P: Peer device(10-20-ba-91-1c-7a) connected
[158016] simple_ble: *** MASTER: Connected to device! conn_idx=0
[158022] simple_ble: Starting service discovery…
[158027] ble_ancs: BLE_GAP_CONNECTED_IND conn_idx:0
[158032] ble_connect: Peer device(role:0) (10-20-ba-91-1c-7a) connected as deivce 0
[158039] bt_connect: [app_bt_connect_req] mask:159 type:2 addr:00000000
[158046] bt_connect: db addr:00:00:00:00:00:00
[158050] bt_connect: [bt_connect_update_last_idx] conn idx:0 connected
[158057] bt_connect: [app_bt_connect_req] bt addr invalid
[158063] APP.UI: send_msg_to_gui_thread_e: msg 623fe088 msg_len 4 data_len 1 ret_addr 1010fe8b err 0
[158072] bt_connect: [app_bt_connect_req] mask:159 type:2 addr:00000000
[158078] bt_connect: db addr:00:00:00:00:00:00
[158083] bt_connect: [bt_connect_update_last_idx] conn idx:0 connected
[158089] bt_connect: [app_bt_connect_req] bt addr invalid
[158095] APP.UI: send_msg_to_gui_thread_e: msg 623feb28 msg_len 4 data_len 1 ret_addr 1010fe8b err 0
[158104] ble_connect: BLE_GAP_CONNECTED_IND idx:0 con_interval:48
[158110] APP.UI: Peripheral should be slave!!!
[158115] APP.UI: Peer device(10-20-ba-91-1c-7a) connected
ble_tool_event_handler, id:55
[158123] sibles: connected 0
[158126] ble_cm: SIBLES_REMOTE_CONNECTED_IND
[158130] simple_ble: RECV: event=0x0064, len=1
DATA: 00
ble_tool_event_handler, id:100
[158138] simple_ble: RECV: event=0x005C, len=2
DATA: 04 00
ble_tool_event_handler, id:92
[158149] APP.UI: app_lv_task_exec: msg 623fe088 len 4
[158154] APP.UI: app_lv_task_exec: msg 623feb28 len 4
[159068] sibles: GATTC_CMP_EVT 1, 0
[159073] ble_cm: SIBLES_MTU_EXCHANGE_IND 0, 500
[159080] ble_cm: update_data_length
[159083] DFU_P: Exchanged MTU size: 500
[159088] simple_ble: RECV: event=0x0067, len=4
DATA: 00 75 F4 01
[159095] ble_connect: Exchanged device 0 MTU size: 500
ble_tool_event_handler, id:103
[159105] simple_ble: RECV: event=0x004B, len=10
DATA: 00 93 1B 00 48 01 FB 00 48 08
ble_tool_event_handler, id:75
[160048] sibles: GATTC_CMP_EVT 1, 0
[160052] ble_cm: SIBLES_MTU_EXCHANGE_IND 0, 500
[160056] ble_cm: update_data_length
[160060] DFU_P: Exchanged MTU size: 500
[160064] simple_ble: RECV: event=0x0067, len=4
DATA: 00 48 F4 01
[160070] ble_connect: Exchanged device 0 MTU size: 500
ble_tool_event_handler, id:103
[161032] sibles: svc search end 10
[161036] simple_ble: RECV: event=0x0090, len=2
DATA: 00 02
[161042] ble_ancs: BLE_ANCS_ENABLE_RSP conn_idx:0 result:2 encrypt:0
ble_tool_event_handler, id:144
ble_tool_event_handler, id:97
[164158] BLE_GAP: GAPC event status, op: 20, ret 0
[164163] simple_ble: RECV: event=0x004A, len=2
DATA: 00 00
ble_tool_event_handler, id:74
[164478] ble_cm: BLE_GAP_UPDATE_CONN_PARAM_IND 32, 0
[164483] ble_cm: connection_manager_event_process 0x49
[164488] simple_ble: RECV: event=0x00BA, len=8
DATA: 00 65 20 00 00 00 90 01
ble_tool_event_handler, id:186
[164498] simple_ble: RECV: event=0x003E, len=8
DATA: 00 00 20 00 00 00 90 01
[164506] ble_connect: BLE_GAP_UPDATE_CONN_PARAM_IND
[164511] ble_connect: conn_idx:0, con_interval:32, con_latency:0
[164517] ble_connect: latency:2, interval_min:80, interval_max:100
[164523] NO_TAG: ota_get_res_status:0
ble updata para
ble_tool_event_handler, id:62
[165134] simple_ble: RECV: event=0x004B, len=10
DATA: 00 0E FB 00 48 08 FB 00 48 08
ble_tool_event_handler, id:75
[169394] drv.lcdp: DSI error code 80
[169398] nv3051f1: ESDCehck PowerMode 0x9c
[183381] APP.FWK.PM: fsm:Cur[GUI_STATE_ACTIVE],Action[GUI_PM_ACTION_SLEEP]
[183390] APP.FWK.PM: change_gui_state:[GUI_STATE_ACTIVE] → [GUI_STATE_INACTIVE_PENDING]
[183400] APP.UI: app_gui_pm_process: event 1 sleep_type 0x0007 idle 4
[183408] APP.UI: app_gui_sleep_suspend_app
[183412] APP.FWK: send msg[GUI_APP_MSG_SUSPEND_SCHEDULER] [0x0] to gui_app_mbx tick:22208.
[183422] APP.FWK: gui_app_exec_now Start
[183427] APP.FWK: send msg[GUI_APP_MSG_ABORT_TRANS_ANIM] [0x0] to gui_app_mbx tick:22210.
[183437] APP.SCHE: ----------------app_schedule_task---------------start
[183445] APP.SCHE: >>Execute msg[GUI_APP_MSG_SUSPEND_SCHEDULER] tick:22208
[183453] APP.SCHE: Pause all app and suspend scheduler
[183459] APP.SCHE: page[Main][root] tgt_state [RESUMED] → [PAUSED]
[183467] APP.SCHE: page[Main][root] do ONPAUSE, 623fee88
[183481] APP.UI: menu_pause: cur List last List
[183486] APP.SCHE: app_schedule_task done.
[183492] APP.FWK: gui_app_exec_now Cnt 0
[183496] APP.FWK: gui_app_exec_now Done.
[183501] IPC_SRV: ipc_send_msg_to_server: LCPU_APP client_handle 11 623fef08 client_ready 1
[183597] APP.UI: app_gui_pm_process: event 2 sleep_type 0x0007 idle 1
[183604] drv.epic: drv_gpu closed.
[183607] drv.lcd: Power off
[183610] drv.lcd: display off
[183613] nv3051f1: SetBrightness,br:0,pulse:0
[191616] drv.lcd: [ON] → [OFF]
[191619] drv.lcd: HW close
[199616] drv.lcd: HW close done.
[199619] drv.lcd: Power off done
[199623] TOUCH: Power off
[199625] TOUCH: Power off done.
[199904] APP.FLASHDB: app_flashdb_write: nvm_ble fn /nvm/app/nvm_ble 33 (ms)
[199911] APP.FWK.PM: change_gui_state:[GUI_STATE_INACTIVE_PENDING] → [GUI_STATE_INACTIVE]
[199919] APP.FWK.PM: gui_suspend
好的,我已经调试好了,感谢