<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/85714/why-did-i2c-communication-failure-cause-9160-to-crash</link><description>I used 9160 to develop a project for the customer. During the project test, sometimes the data line or clock line level of I2C was abnormal due to hardware reasons. I wonder why the firmware stayed in the thread of I2C communication and could not be returned</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 15 Aug 2022 13:27:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/85714/why-did-i2c-communication-failure-cause-9160-to-crash" /><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/381599?ContentTypeID=1</link><pubDate>Mon, 15 Aug 2022 13:27:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48588284-a91a-4ee3-9a63-90d4898d408c</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If the program is stuck in the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/kernel/services/synchronization/semaphores.html?highlight=k_sem_take#c.k_sem_take"&gt;k_sem_take&lt;/a&gt;(), then you can try to modify the second parameter&amp;nbsp;&lt;strong&gt;timeout&lt;/strong&gt;&lt;span&gt;&amp;nbsp;from&amp;nbsp;K_FOREVER to something else such as 200 ms for example. You can then print out an error message If the program returns&amp;nbsp;&lt;strong&gt;EAGAIN.&amp;nbsp;&lt;/strong&gt;Which means that the program didn&amp;#39;t&amp;nbsp;acquire the semaphore.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jared&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/381259?ContentTypeID=1</link><pubDate>Fri, 12 Aug 2022 03:24:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88a86059-715d-4490-8630-279b33ab5709</guid><dc:creator>duxinglang</dc:creator><description>&lt;p&gt;I have used ncs1.9.0 now, but this problem still exists. What is more serious is that I2C, which can run normally on the ncs1.2.0 SDK, also reports the same error on the ncs1.9.0 SDK. This is very strange. Moreover, I checked the pin level change with a logic analyzer and found that it did not respond.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/367205?ContentTypeID=1</link><pubDate>Tue, 10 May 2022 13:37:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8dc9d41a-e1b4-4f12-9a7c-57f5f30b608e</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you try to reproduce this with the newest tag v1.9.0? You&amp;#39;re using a very old tag, maybe the issue has been fixed in a newer release.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/367132?ContentTypeID=1</link><pubDate>Tue, 10 May 2022 10:11:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b60d67c-54b4-41d8-8f8d-7ea619b7b2d3</guid><dc:creator>duxinglang</dc:creator><description>&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;As I said, it crashes when it runs to the function k_sem_take().&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="transSent"&gt;&lt;span&gt; This function is in line 79 of file i2C_nrfx_twim.c.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/1652177111_2800_1_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;This is my interface function for i2C initialization and read/write operations, and it should look fine. &lt;pre class="ui-code" data-mode="text"&gt;#define PMU_DEV &amp;quot;I2C_1&amp;quot;
#define PMU_PORT &amp;quot;GPIO_0&amp;quot;

static struct device *i2c_pmu;
static struct device *gpio_pmu;

static bool init_i2c(void)
{
	i2c_pmu = device_get_binding(PMU_DEV);
	if(!i2c_pmu)
	{
	#ifdef PMU_DEBUG
		LOGD(&amp;quot;ERROR SETTING UP I2C&amp;quot;);
	#endif
		return false;
	} 
	else
	{
		i2c_configure(i2c_pmu, I2C_SPEED_SET(I2C_SPEED_FAST));
		return true;
	}
}

static s32_t platform_write(struct device *handle, u8_t reg, u8_t *bufp, u16_t len)
{
	u32_t i=0;
	u8_t data[len+1];
	u32_t rslt = 0;

	data[0] = reg;
	memcpy(&amp;amp;data[1], bufp, len);
	rslt = i2c_write(handle, data, len+1, MAX20353_I2C_ADDR);

	return rslt;
}

static s32_t platform_read(struct device *handle, u8_t reg, u8_t *bufp, u16_t len)
{
	u32_t rslt = 0;

	rslt = i2c_write(handle, &amp;amp;reg, 1, MAX20353_I2C_ADDR);
	if(rslt == 0)
	{
		rslt = i2c_read(handle, bufp, len, MAX20353_I2C_ADDR);
	}

	return rslt;
}&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;By the way, my project using the&amp;nbsp;sdk version is ncs1.2.0. my prj.conf file and overlay file is like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#
# General config
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
CONFIG_ASSERT=y
CONFIG_REBOOT=y
CONFIG_GPIO=y
CONFIG_TRUSTED_EXECUTION_NONSECURE=y

# Log
CONFIG_LOG=y
CONFIG_LOG_IMMEDIATE=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_LOG_MODE_OVERFLOW=y
CONFIG_LOG_BACKEND_RTT_MODE_DROP=y
CONFIG_LOG_BACKEND_SHOW_COLOR=n
CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=n

# watch dog
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_TIMEOUT_MSEC=10000

# Modem info
CONFIG_MODEM_INFO=y

# BSD library
CONFIG_BSD_LIBRARY=y
CONFIG_BSD_LIBRARY_TRACE_ENABLED=n

# Flash
CONFIG_FLASH=y
CONFIG_IMG_ERASE_PROGRESSIVELY=y

# NVS
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_NVS=y
CONFIG_NVS_LOG_LEVEL_DBG=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y

# GPS
CONFIG_NRF9160_GPS=y
#CONFIG_GPS_USE_SIM=y
CONFIG_GPS_USE_EXTERNAL=y
CONFIG_GPS_DEV_NAME=&amp;quot;NRF9160_GPS&amp;quot;
CONFIG_GPS_CONTROL_PSM_ENABLE_ON_START=y
CONFIG_GPS_CONTROL_FIRST_FIX_CHECK_DELAY=10
CONFIG_GPS_CONTROL_FIX_CHECK_INTERVAL=30
CONFIG_GPS_CONTROL_FIX_TRY_TIME=360
CONFIG_GPS_CONTROL_PSM_DISABLE_ON_STOP=n

# AT_CMD
#CONFIG_AT_HOST_LIBRARY=y
#CONFIG_UART_INTERRUPT_DRIVEN=y

# Console
CONFIG_CONSOLE_SUBSYS=n
CONFIG_CONSOLE_HANDLER=n
CONFIG_CONSOLE_GETCHAR=n
CONFIG_CONSOLE=n
CONFIG_RTT_CONSOLE=y
CONFIG_UART_CONSOLE=n

# Enable SUPL client support AGPS
CONFIG_SUPL_CLIENT_LIB=n

# Network
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y

# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
CONFIG_LTE_NETWORK_USE_FALLBACK=y
CONFIG_LTE_NETWORK_TIMEOUT=60
CONFIG_LTE_NETWORK_MODE_LTE_M_GPS=n
CONFIG_LTE_NETWORK_MODE_NBIOT_GPS=y
CONFIG_LTE_LEGACY_PCO_MODE=y

# PSM
CONFIG_LTE_PSM_ENABLE=y
# Set Periodic-TAU timer to 1 hour and Active-Time to 10 seconds.
CONFIG_LTE_PSM_REQ_RPTAU=&amp;quot;01000110&amp;quot;
CONFIG_LTE_PSM_REQ_RAT=&amp;quot;00000101&amp;quot;

# eDRX
CONFIG_LTE_EDRX_ENABLE=n
CONFIG_LTE_EDRX_REQ_VALUE=&amp;quot;1001&amp;quot;

# RAI
CONFIG_LTE_RAI_ENABLE=n

# MQTT
CONFIG_MQTT_LIB=y
CONFIG_MQTT_LIB_TLS=n
CONFIG_MQTT_KEEPALIVE=300
CONFIG_MQTT_PUB_TOPIC=&amp;quot;device/e2/pushdata&amp;quot;
CONFIG_MQTT_SUB_TOPIC=&amp;quot;device/e2/&amp;quot;
CONFIG_MQTT_CLIENT_ID=&amp;quot;my-client-id&amp;quot;
CONFIG_MQTT_USER_NAME=&amp;quot;admin123&amp;quot;
CONFIG_MQTT_PASSWORD=&amp;quot;admin123&amp;quot;
CONFIG_MQTT_DOMESTIC_BROKER_HOSTNAME=&amp;quot;47.107.51.89&amp;quot;
CONFIG_MQTT_DOMESTIC_BROKER_PORT=1883
CONFIG_MQTT_FOREIGN_BROKER_HOSTNAME=&amp;quot;18.135.53.53&amp;quot;
CONFIG_MQTT_FOREIGN_BROKER_PORT=1883

# Library for buttons and LEDs
CONFIG_DK_LIBRARY=y
CONFIG_DK_LIBRARY_INVERT_LEDS=n

# Heap and stacks
CONFIG_HEAP_MEM_POOL_SIZE=16384
CONFIG_MAIN_STACK_SIZE=8192
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
CONFIG_HW_STACK_PROTECTION=y

# SPI
CONFIG_SPI=y
CONFIG_SPI_NRFX=y
CONFIG_SPI_2=y
CONFIG_SPI_2_NRF_SPIM=y
CONFIG_SPI_3=y
CONFIG_SPI_3_NRF_SPIM=y

# I2C
CONFIG_I2C=y
CONFIG_I2C_NRFX=y
CONFIG_I2C_1=y
CONFIG_I2C_1_NRF_TWIM=y
CONFIG_I2C_2=n
CONFIG_I2C_2_NRF_TWIM=n
CONFIG_I2C_INIT_PRIORITY=60

# UART
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# ANIMATION
CONFIG_ANIMATION_SUPPORT=y

# PPG
CONFIG_PPG_SUPPORT=y

# IMU
CONFIG_IMU_SUPPORT=y
CONFIG_FALL_DETECT_SUPPORT=n

# WIFI
CONFIG_WIFI=n

# TP
CONFIG_TOUCH_SUPPORT=y

# AUDIO
CONFIG_AUDIO_SUPPORT=n

# Data Sync
CONFIG_SYNC_SUPPORT=y

# Temperature
CONFIG_TEMP_SUPPORT=y

# CRC Check
CONFIG_CRC_SUPPORT=y

# DEVICE POWER MANAGEMENT
CONFIG_DEVICE_POWER_MANAGEMENT=y

# Download client
CONFIG_DOWNLOAD_CLIENT=y
CONFIG_DOWNLOAD_CLIENT_TLS=y
CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096

# DATA UPDATE
CONFIG_DATA_DOWNLOAD_SUPPORT=n
CONFIG_DATA_DOWNLOAD_HOST_HK=&amp;quot;aug-fm-files-hk.oss-cn-hongkong.aliyuncs.com&amp;quot;
CONFIG_DATA_DOWNLOAD_HOST_CN=&amp;quot;aug-fm-files-cn.oss-cn-shenzhen.aliyuncs.com&amp;quot;
# IMG
CONFIG_IMG_DATA_UPDATE=y
CONFIG_IMG_DATA_DOWNLOAD_FILE=&amp;quot;E2/e2_img.bin&amp;quot;
# FONT
CONFIG_FONT_DATA_UPDATE=y
CONFIG_FONT_DATA_DOWNLOAD_FILE=&amp;quot;E2/e2_font.bin&amp;quot;
# PPG
CONFIG_PPG_DATA_UPDATE=y
CONFIG_PPG_DATA_DOWNLOAD_FILE=&amp;quot;E2/e2_ppg.bin&amp;quot;

# fota download
CONFIG_FOTA_DOWNLOAD=y
CONFIG_FOTA_DOWNLOAD_PROGRESS_EVT=y
CONFIG_FOTA_DOWNLOAD_HOST_HK=&amp;quot;aug-fm-files-hk.oss-cn-hongkong.aliyuncs.com&amp;quot;
CONFIG_FOTA_DOWNLOAD_HOST_CN=&amp;quot;aug-fm-files-cn.oss-cn-shenzhen.aliyuncs.com&amp;quot;
CONFIG_FOTA_DOWNLOAD_FILE=&amp;quot;E2/e2_update.bin&amp;quot;
CONFIG_APPLICATION_VERSION=1

# Image manager
CONFIG_IMG_MANAGER=y
CONFIG_FLASH=y
CONFIG_IMG_ERASE_PROGRESSIVELY=y

# DFU Target
CONFIG_DFU_TARGET=y

# Modem key management
CONFIG_MODEM_KEY_MGMT=y

# Application Upgrade support
CONFIG_BOOTLOADER_MCUBOOT=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;amp;spi2{
	compatible = &amp;quot;nordic,nrf-spim&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	sck-pin = &amp;lt;3&amp;gt;;
	mosi-pin = &amp;lt;4&amp;gt;;
	miso-pin = &amp;lt;5&amp;gt;;
};

&amp;amp;spi3{
	compatible = &amp;quot;nordic,nrf-spim&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	sck-pin = &amp;lt;22&amp;gt;;
	mosi-pin = &amp;lt;20&amp;gt;;
	miso-pin = &amp;lt;20&amp;gt;;
};

&amp;amp;i2c1{
	compatible = &amp;quot;nordic,nrf-twim&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	sda-pin = &amp;lt;30&amp;gt;;
	scl-pin = &amp;lt;31&amp;gt;;
	clock-frequency = &amp;lt;I2C_BITRATE_FAST&amp;gt;;
};

&amp;amp;uart0{
	status = &amp;quot;okay&amp;quot;;
	current-speed = &amp;lt;115200&amp;gt;;
	tx-pin = &amp;lt;29&amp;gt;;
	rx-pin = &amp;lt;28&amp;gt;;
	#rts-pin = &amp;lt;14&amp;gt;;
	#cts-pin = &amp;lt;15&amp;gt;;
};
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/367100?ContentTypeID=1</link><pubDate>Tue, 10 May 2022 08:53:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3f02e7c-6fbb-4f52-8d81-12064d603bc7</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I agree that it shouldn&amp;#39;t cause the program to stop when it encounters I2C error. But my question previously was where exactly in the program it stops. This is still not clear to me.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In an earlier comment you pointed to&amp;nbsp;&lt;span&gt;k_sem_take_forever(), and I then wondered if you passed the correct parameters to the function. Can you again show me exactly where the programs stops after you hit an error?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Could you also share your code?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jared&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/367043?ContentTypeID=1</link><pubDate>Tue, 10 May 2022 01:54:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2a459617-a08a-47a6-b05b-d0b00e99e077</guid><dc:creator>duxinglang</dc:creator><description>&lt;p&gt;I used the logic analyzer to check the level changes of SDA and SCL. Yes, when this happens, there are some abnormalities in the peripherals, which leads to the high or low level of SDA or SCL. This is what I can expect, but my question is, even if the external causes I2C abnormalities, why does this abnormality cause the collapse of 9160? Can the 9160, as a host, not automatically return an error when it encounters an abnormal communication timeout, and then continue the following instructions? Why stay here all the time? I tested nrf52810 and found it wouldn&amp;#39;t crash.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/365568?ContentTypeID=1</link><pubDate>Fri, 29 Apr 2022 11:34:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3fb14f47-2b06-4017-95e9-ce57c5b45003</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m a bit confused. My understanding was that the I2C peripheral asserted during the reading process after initialization. .&amp;nbsp;&lt;/p&gt;
[quote user="duxinglang"]but the system crashes during the reading process, here is its location and execution code:[/quote]
&lt;p&gt;I therefore asked exactly where in the code it stops during the reading process, and you pointed to the k_sem_take()&lt;/p&gt;
[quote user="duxinglang"]I tracked it down in the code and found that something went wrong during transmission.&amp;nbsp; [/quote]
&lt;p&gt;But then you write:&lt;/p&gt;
[quote user="duxinglang"]can confirm that the correct parameters have been passed in, and I2C can be used for communication even when the peripheral is normal. [/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I suggest that you connect the SDA and SCL line to a logic analyzer and see what is sent when the program asserts. You should check if the data that is sent is what you expected and if it is according to what is specified in the datasheet.&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/365499?ContentTypeID=1</link><pubDate>Fri, 29 Apr 2022 03:16:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:159fe055-f46e-464a-9790-b9eb236e097b</guid><dc:creator>duxinglang</dc:creator><description>&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;Thanks for your reply.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="transSent"&gt;&lt;span&gt; I can confirm that the correct parameters have been passed in, and I2C can be used for communication even when the peripheral is normal. Only when the peripheral works abnormally, its SCL and SDA line level of I2C is abnormal (for example, the level is always high or low), which will cause 9160 to crash. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/365405?ContentTypeID=1</link><pubDate>Thu, 28 Apr 2022 11:50:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ced829e3-c323-47fa-8c45-ac083552af05</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Are you passing the correct parameter to k_sem_take_forever? I&amp;#39;m not sure if get_dev_data(dev)-&amp;gt;completion_sync would return the address.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/364798?ContentTypeID=1</link><pubDate>Tue, 26 Apr 2022 03:05:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4eb80194-0d5c-4eff-bf29-e9a13f7a2323</guid><dc:creator>duxinglang</dc:creator><description>&lt;p&gt;&lt;span&gt;I&amp;#39;m sorry that I didn&amp;#39;t express it clearly. I tracked it down in the code and found that something went wrong during transmission.&amp;nbsp; like this:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/QQ_FE564772_20220426110201.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I don&amp;#39;t know why it need to waiting forever and didn&amp;#39;t get&amp;nbsp;any message from event_handler&amp;nbsp; :&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/QQ_FE564772_20220426110524.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/358878?ContentTypeID=1</link><pubDate>Fri, 18 Mar 2022 13:24:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1788dca6-49af-41b7-9acb-8166a7dcd92d</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You have shared 4 images of your code, but I&amp;#39;m not sure which one that shows where it asserts. Can you debug the application and show the call stack when the program asserts? Is there any log messages that is outputted when the program asserts?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/358563?ContentTypeID=1</link><pubDate>Thu, 17 Mar 2022 09:04:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36c6855e-4445-4bdb-8a98-339668b1d2a0</guid><dc:creator>duxinglang</dc:creator><description>&lt;p&gt;&lt;span&gt;When the system starts, initialize a peripheral, read the device ID through I2C, but the system crashes during the reading process, here is its location and execution code: &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/2185.png" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/0042.png" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/4274.png" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/005.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why did I2C communication failure cause 9160 to crash？</title><link>https://devzone.nordicsemi.com/thread/357620?ContentTypeID=1</link><pubDate>Fri, 11 Mar 2022 11:24:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a34d51ab-818f-4acd-8adf-8f6d9a1a980e</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you show me how the call stack looks like when this error happens, and exactly where in the program it&amp;#39;s stuck?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>