in advertising_init(); function, i add some code like below:
#define def_uuids_complete 1
//#define def_uuids_available 1
#define add_vbat_service 1
/**@brief Function for initializing the Advertising functionality.
*/
static void advertising_init(void)
{
ret_code_t err_code;
ble_advertising_init_t init;
//int8_t tx_power_level = 0;
#if defined (add_vbat_service)
uint8_t battery_data = 85;
ble_advdata_service_data_t service_data;
memset(&service_data, 0, sizeof(service_data));
#endif
memset(&init, 0, sizeof(init));
init.advdata.name_type = BLE_ADVDATA_FULL_NAME;
//init.advdata.name_type = BLE_ADVDATA_NO_NAME;
//init.advdata.name_type = BLE_ADVDATA_SHORT_NAME;
//init.advdata.short_name_len = 6;
init.advdata.include_appearance = true;
init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
//init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE;
#if defined(def_uuids_complete)
init.advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
init.advdata.uuids_complete.p_uuids = m_adv_uuids;
#elif defined(def_uuids_available)
init.advdata.uuids_more_available.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
init.advdata.uuids_more_available.p_uuids = m_adv_uuids;
#endif
#if defined (add_vbat_service)
service_data.service_uuid = BLE_UUID_BATTERY_SERVICE;
service_data.data.size = sizeof(battery_data);
service_data.data.p_data = &battery_data;
init.advdata.service_data_count = 1;
#endif
//init.advdata.p_tx_power_level = &tx_power_level;
init.config.ble_adv_fast_enabled = true;
init.config.ble_adv_fast_interval = APP_ADV_INTERVAL;
init.config.ble_adv_fast_timeout = APP_ADV_DURATION;
init.evt_handler = on_adv_evt;
err_code = ble_advertising_init(&m_advertising, &init);
APP_ERROR_CHECK(err_code);
ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG);
}
===================== but after download the code into nRF52832 DK, and power on,the system is always System reset, when i open rtt, viewer ,it display
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
then i debug, the system is stop in
#endif
NRF_BREAKPOINT_COND;
// On assert, the system can only recover with a reset.
#ifndef DEBUG
NRF_LOG_WARNING("System reset");
NVIC_SystemReset();
#else
app_error_save_and_stop(id, pc, info);
#endif // DEBUG
the nrf852832 soc always go into System reset statement, when after power on. can any one tell why, do i initial advertising in wrong way?