<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: i2c call back is not getting called in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2290313#M59152</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957"&gt;@Harry_Zhang&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thanks for your response.&lt;/P&gt;&lt;P&gt;I have other sensor modules that are working with non-blocking calls.&lt;/P&gt;&lt;P&gt;I am using a BMP390 sensor, and the I²C communication works fine with non-blocking calls. For example, if one of the register addresses is 0x01, I assign the subaddress as shown below:&lt;/P&gt;&lt;P&gt;masterXfer.subaddress = (uint32_t)0x01;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;However, for the DAC (MCP47FEB21A0) module, the subaddress is assigned differently:&lt;/P&gt;&lt;P&gt;uint8_t subAddress;&lt;BR /&gt;subAddress = (uint8_t)(reg_addr &amp;lt;&amp;lt; 3); // Based on the MCP47FEB21A0 datasheet, the register address must be shifted left by 3&lt;BR /&gt;masterXfer.subaddress = (uint32_t)subAddress;&lt;BR /&gt;&lt;BR /&gt;Is it going to make any difference?&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;San&lt;/P&gt;</description>
    <pubDate>Thu, 08 Jan 2026 14:53:21 GMT</pubDate>
    <dc:creator>sushmasan</dc:creator>
    <dc:date>2026-01-08T14:53:21Z</dc:date>
    <item>
      <title>i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2289725#M59147</link>
      <description>&lt;P&gt;Hello Team,&lt;/P&gt;&lt;P&gt;I am working with a DAC module (MCP47FEB21A0) that is interfaced with an LPC55S69 over I²C.&lt;/P&gt;&lt;P&gt;I observed that I2C_MasterTransferBlocking() works correctly, but when I use I2C_MasterTransferNonBlocking(), the I²C callback is never invoked.&lt;/P&gt;&lt;P&gt;I2C_MasterTransferNonBlocking()&amp;nbsp;is returning kStatus_Success.&lt;/P&gt;&lt;P&gt;For reference, I2C_MasterTransferCreateHandle() is called once during I²C initialization.&lt;/P&gt;&lt;P&gt;Could someone please explain why the I²C callback is not getting called when using I2C_MasterTransferNonBlocking()?&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Santhosh&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jan 2026 23:28:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2289725#M59147</guid>
      <dc:creator>sushmasan</dc:creator>
      <dc:date>2026-01-07T23:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2289917#M59148</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/221349"&gt;@sushmasan&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think you can refer to the&amp;nbsp; lpcxpresso55s69_lpc_i2c_interrupt_b2b_transfer_master_cm33_core0 SDK demo.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Harry_Zhang_0-1767855362914.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/372099i81F6BE7811F21EFC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Harry_Zhang_0-1767855362914.png" alt="Harry_Zhang_0-1767855362914.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Harry&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jan 2026 06:58:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2289917#M59148</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2026-01-08T06:58:49Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2290313#M59152</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957"&gt;@Harry_Zhang&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thanks for your response.&lt;/P&gt;&lt;P&gt;I have other sensor modules that are working with non-blocking calls.&lt;/P&gt;&lt;P&gt;I am using a BMP390 sensor, and the I²C communication works fine with non-blocking calls. For example, if one of the register addresses is 0x01, I assign the subaddress as shown below:&lt;/P&gt;&lt;P&gt;masterXfer.subaddress = (uint32_t)0x01;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;However, for the DAC (MCP47FEB21A0) module, the subaddress is assigned differently:&lt;/P&gt;&lt;P&gt;uint8_t subAddress;&lt;BR /&gt;subAddress = (uint8_t)(reg_addr &amp;lt;&amp;lt; 3); // Based on the MCP47FEB21A0 datasheet, the register address must be shifted left by 3&lt;BR /&gt;masterXfer.subaddress = (uint32_t)subAddress;&lt;BR /&gt;&lt;BR /&gt;Is it going to make any difference?&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;San&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jan 2026 14:53:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2290313#M59152</guid>
      <dc:creator>sushmasan</dc:creator>
      <dc:date>2026-01-08T14:53:21Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2291427#M59159</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/221349"&gt;@sushmasan&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think you can try to&amp;nbsp;set subaddressSize = 0 and put the DAC’s command byte(s) and data bytes directly in masterXfer.data, then start a write transfer.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Harry&lt;/P&gt;</description>
      <pubDate>Mon, 12 Jan 2026 03:27:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2291427#M59159</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2026-01-12T03:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2291948#M59162</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957"&gt;@Harry_Zhang&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;I even tried it,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;uint8_t txData[3] = {0};&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;txData[0] = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;) (reg_addr &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;txData[1] = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;)(data &amp;gt;&amp;gt; 8); &lt;/SPAN&gt;&lt;SPAN&gt;/* Data high byte */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;txData[2] = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;)(data &amp;amp; 0xFFU); &lt;/SPAN&gt;&lt;SPAN&gt;/* Data low byte */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt; = txData;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;dataSize&lt;/SPAN&gt;&lt;SPAN&gt; = 3; &lt;/SPAN&gt;&lt;SPAN&gt;/* 3 bytes total */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have some data which is of 2 bytes, so after the adding reg addr it becomes 3 bytes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Still I²C callback is not getting called when I use I2C_MasterTransferNonBlocking().&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;San&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 12 Jan 2026 19:18:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2291948#M59162</guid>
      <dc:creator>sushmasan</dc:creator>
      <dc:date>2026-01-12T19:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2292690#M59163</link>
      <description>&lt;P&gt;Yesterday I replied to your message, but mistakenly I did a reply to the topic. I am not sure whether you have noticed it or not, that's why responding to your message again here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957" target="_blank"&gt;@Harry_Zhang&lt;/A&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;I even tried it,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;uint8_t txData[3] = {0};&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;txData[0] = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;) (reg_addr &amp;lt;&amp;lt; 3);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;txData[1] = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;)(data &amp;gt;&amp;gt; 8);&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;/* Data high byte */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;txData[2] = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;)(data &amp;amp; 0xFFU);&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;/* Data low byte */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;= txData;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;dataSize&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;= 3;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;/* 3 bytes total */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have some data which is of 2 bytes, so after the adding reg addr it becomes 3 bytes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Still I²C callback is not getting called when I use I2C_MasterTransferNonBlocking().&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;San&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 13 Jan 2026 15:30:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2292690#M59163</guid>
      <dc:creator>sushmasan</dc:creator>
      <dc:date>2026-01-13T15:30:09Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2295571#M59216</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/221349"&gt;@sushmasan&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you share the your code so I can take a look?&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Harry&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jan 2026 02:55:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2295571#M59216</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2026-01-19T02:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2296081#M59221</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957"&gt;@Harry_Zhang&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Please find the code snippet for your reference,&lt;/P&gt;&lt;LI-CODE lang="cpp"&gt;#define I2C5_BASE                                (0x40096000u)
#define I2C5_MASTER_BASE    (I2C5_BASE)
#define I2C5_MASTER_CLOCK_FREQUENCY (12000000)
#define I2C5_MASTER ((I2C_Type *) I2C5_MASTER_BASE)

static void i2c_master_callback(I2C_Type *base, i2c_master_handle_t *handle, status_t status, void *userData)
{		
	/* Signal transfer success when received success status. */
	if (status == kStatus_Success)
	{
		// Successfully completed data transfer
		g_MasterCompletionFlag = true;
		g_i2cCallBackStatus = kStatus_Success;
	}
	/* Signal transfer failure when received failure status. */
	else
	{
		if(status == kStatus_I2C_Nak)
		{			
			g_i2cCallBackStatus = kStatus_I2C_Nak;
		}
		else if (status == kStatus_I2C_Addr_Nak)
		{		
			g_i2cCallBackStatus = kStatus_I2C_Addr_Nak;
		}
		else if (status == kStatus_I2C_ArbitrationLost)
		{		
			g_i2cCallBackStatus = kStatus_I2C_ArbitrationLost;
		}
		else
		{		
			g_i2cCallBackStatus = false;
		}
	}

	return;
}

bool i2c_readwrite(i2c_master_transfer_t *masterXfer)
{
	status_t status = kStatus_Fail;
	status_t finalStatus = kStatus_Fail;
	bool retVal = false;
	
	g_MasterCompletionFlag = false;
	g_i2cCallBackStatus = kStatus_Fail;

	/* Send master non-blocking data to slave (Performing the write operation) */
	/* Allowing the CPU to continue executing other tasks in parallel while the I2C transfer is being handled in the background. */
	status = I2C_MasterTransferNonBlocking(I2C5_MASTER, &amp;amp;g_m_handle, masterXfer);

	PRINTF("(%s() =&amp;gt; Wait for the data transfer to slave completion. status:%d \r\n",__func__,status);

	/*  Wait for transfer completed. */
	while (!g_MasterCompletionFlag)
	{
	}
	g_MasterCompletionFlag = false;

	// Driver-level error (could not start transfer)
	if(status == kStatus_Success)
		retVal = true;
	// Transfer completed
	else
		retVal = false;
	
	g_i2cCallBackStatus = kStatus_Fail;

	return retVal;
}

// THIS IS WITH I2C NON BLOCKING CALL -&amp;gt; CALL BACK IS NOT GETTING INVOKED.
bool dac_write_reg(uint8_t reg_addr, uint16_t data)
{
	/* The DAC needs 1 address byte + 2 data bytes. */
	static i2c_master_transfer_t masterXfer = {0};
	static uint8_t txData[3] = {0};	
	bool retVal = false;
	bool write_status = false;

	memset(&amp;amp;masterXfer, 0, sizeof(masterXfer));
	
	txData[0] = (uint8_t) (reg_addr &amp;lt;&amp;lt; 3); 
	txData[1] = (uint8_t)(data &amp;gt;&amp;gt; 8);     
	txData[2] = (uint8_t)(data &amp;amp; 0xFFU);  

	masterXfer.slaveAddress   = 0x60;     
	masterXfer.direction      = kI2C_Write;
	masterXfer.subaddress     = 0;
	masterXfer.subaddressSize = 0;                      
	masterXfer.data           = txData;
	masterXfer.dataSize       = 3;          
	masterXfer.flags          = kI2C_TransferDefaultFlag; 

	write_status = i2c_readwrite(&amp;amp;masterXfer);
	if(true == write_status)
	{
		PRINTF("(%s) -&amp;gt; I2C write PASS @line:%d \r\n",__func__,__LINE__);

		retVal = true;
	}
	else
	{
		PRINTF("(%s) -&amp;gt; I2C write failed with status %d \r\n",__func__,write_status);

		retVal = false;
	}
	
	return retVal;
}


// THIS IS WITH I2C BLOCKING CALL -&amp;gt; WORKING FINE
int8_t dac_write_reg(uint8_t reg_addr, uint16_t data)
{
	/* The DAC needs 1 address byte + 2 data bytes. */
	i2c_master_transfer_t masterXfer;
	uint8_t txData[2];
	uint8_t subAddress;
	
	memset(&amp;amp;masterXfer, 0, sizeof(masterXfer));

	subAddress = (uint8_t)(reg_addr &amp;lt;&amp;lt; 3); /* DAC  reg  byte */
	txData[0] = (uint8_t)(data &amp;gt;&amp;gt; 8);     /* Data high byte */
	txData[1] = (uint8_t)(data &amp;amp; 0xFFU);  /* Data low  byte */

	masterXfer.slaveAddress   = 0x60;      
	masterXfer.direction      = kI2C_Write;
	masterXfer.subaddress     = (uint32_t) subAddress;
	masterXfer.subaddressSize = 1;                      
	masterXfer.data           = txData;
	masterXfer.dataSize       = 2;          
	masterXfer.flags          = kI2C_TransferDefaultFlag; 

	status_t status = I2C_MasterTransferBlocking(I2C5_MASTER, &amp;amp;masterXfer);
	if (status == kStatus_Success) {
		PRINTF("(%s) -&amp;gt; dac_write_reg PASS @line:%d \r\n",__func__,__LINE__);

		status = 1;
	}
	else
	{
		PRINTF("(%s) -&amp;gt; I2C_MasterTransferBlocking() failed with status %d \r\n",__func__,status);

		status = -1;
	}

	return status;
}


int main()
{
	I2C_MasterGetDefaultConfig(&amp;amp;masterConfig);
	
	I2C_MasterInit(I2C5_MASTER, &amp;amp;masterConfig, I2C5_MASTER_CLOCK_FREQUENCY);
	
	I2C_MasterTransferCreateHandle(I2C5_MASTER, &amp;amp;g_m_handle, i2c_master_callback, NULL);

	dac_write_reg(0x08, 0x0001);
}&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 19 Jan 2026 15:56:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2296081#M59221</guid>
      <dc:creator>sushmasan</dc:creator>
      <dc:date>2026-01-19T15:56:09Z</dc:date>
    </item>
    <item>
      <title>Re: i2c call back is not getting called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2298132#M59234</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/221349"&gt;@sushmasan&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-slate-fragment="JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJ6bExZMU1Ea1h6JTIyJTJDJTIycGFyYUlkeCUyMiUzQTAlMkMlMjJzcmMlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTJDJTIyZHN0JTIyJTNBJTIyJUU2JTg4JTkxJUU1JUI3JUIyJUU3JUJCJThGJUU1JUFFJUExJUU2JTlGJUE1JUU0JUJBJTg2JUU0JUJEJUEwJUU3JTlBJTg0JUU0JUJCJUEzJUU3JUEwJTgxJUUzJTgwJTgyJTIyJTJDJTIybWV0YWRhdGElMjIlM0ElMjIlMjIlMkMlMjJtYXRjaGVzJTIyJTNBbnVsbCUyQyUyMnRyYW5zbGF0ZWRCeSUyMiUzQW51bGwlMkMlMjJtZXRhRGF0YSUyMiUzQSU1QiU1RCUyQyUyMnRleHQlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTdEJTVEJTdEJTVE"&gt;i have reviewed your code.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-slate-fragment="JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJ6bExZMU1Ea1h6JTIyJTJDJTIycGFyYUlkeCUyMiUzQTAlMkMlMjJzcmMlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTJDJTIyZHN0JTIyJTNBJTIyJUU2JTg4JTkxJUU1JUI3JUIyJUU3JUJCJThGJUU1JUFFJUExJUU2JTlGJUE1JUU0JUJBJTg2JUU0JUJEJUEwJUU3JTlBJTg0JUU0JUJCJUEzJUU3JUEwJTgxJUUzJTgwJTgyJTIyJTJDJTIybWV0YWRhdGElMjIlM0ElMjIlMjIlMkMlMjJtYXRjaGVzJTIyJTNBbnVsbCUyQyUyMnRyYW5zbGF0ZWRCeSUyMiUzQW51bGwlMkMlMjJtZXRhRGF0YSUyMiUzQSU1QiU1RCUyQyUyMnRleHQlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTdEJTVEJTdEJTVE"&gt;But I'm sorry, I couldn't find a clear error. I think you can also use an oscilloscope to check if the data transmission is correct and if the returned data is correct.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-slate-fragment="JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJ6bExZMU1Ea1h6JTIyJTJDJTIycGFyYUlkeCUyMiUzQTAlMkMlMjJzcmMlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTJDJTIyZHN0JTIyJTNBJTIyJUU2JTg4JTkxJUU1JUI3JUIyJUU3JUJCJThGJUU1JUFFJUExJUU2JTlGJUE1JUU0JUJBJTg2JUU0JUJEJUEwJUU3JTlBJTg0JUU0JUJCJUEzJUU3JUEwJTgxJUUzJTgwJTgyJTIyJTJDJTIybWV0YWRhdGElMjIlM0ElMjIlMjIlMkMlMjJtYXRjaGVzJTIyJTNBbnVsbCUyQyUyMnRyYW5zbGF0ZWRCeSUyMiUzQW51bGwlMkMlMjJtZXRhRGF0YSUyMiUzQSU1QiU1RCUyQyUyMnRleHQlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTdEJTVEJTdEJTVE"&gt;BR&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-slate-fragment="JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJ6bExZMU1Ea1h6JTIyJTJDJTIycGFyYUlkeCUyMiUzQTAlMkMlMjJzcmMlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTJDJTIyZHN0JTIyJTNBJTIyJUU2JTg4JTkxJUU1JUI3JUIyJUU3JUJCJThGJUU1JUFFJUExJUU2JTlGJUE1JUU0JUJBJTg2JUU0JUJEJUEwJUU3JTlBJTg0JUU0JUJCJUEzJUU3JUEwJTgxJUUzJTgwJTgyJTIyJTJDJTIybWV0YWRhdGElMjIlM0ElMjIlMjIlMkMlMjJtYXRjaGVzJTIyJTNBbnVsbCUyQyUyMnRyYW5zbGF0ZWRCeSUyMiUzQW51bGwlMkMlMjJtZXRhRGF0YSUyMiUzQSU1QiU1RCUyQyUyMnRleHQlMjIlM0ElMjJpJTIwaGF2ZSUyMHJldmlld2VkJTIweW91ciUyMGNvZGUuJTIyJTdEJTVEJTdEJTVE"&gt;Harry&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jan 2026 09:48:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/i2c-call-back-is-not-getting-called/m-p/2298132#M59234</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2026-01-22T09:48:44Z</dc:date>
    </item>
  </channel>
</rss>

