<?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>TWIM: Behaviour when I2C slave not present</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/86624/twim-behaviour-when-i2c-slave-not-present</link><description>Hi, 
 I have TWIM communicating successfully with a slave device on the PCB. 
 We now need to support some PCBs populated with the slave device, and other PCBs where the slave device is not populated. 
 This requires the firmware to determine at run time</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 05 Apr 2022 10:08:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/86624/twim-behaviour-when-i2c-slave-not-present" /><item><title>RE: TWIM: Behaviour when I2C slave not present</title><link>https://devzone.nordicsemi.com/thread/361795?ContentTypeID=1</link><pubDate>Tue, 05 Apr 2022 10:08:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05bad709-5a4c-42d0-a74e-37c29209c339</guid><dc:creator>Dermot Murphy</dc:creator><description>&lt;p&gt;Thanks !&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TWIM: Behaviour when I2C slave not present</title><link>https://devzone.nordicsemi.com/thread/361793?ContentTypeID=1</link><pubDate>Tue, 05 Apr 2022 10:07:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de408717-d3b1-4e7e-8067-23ef77c4a38f</guid><dc:creator>mrono</dc:creator><description>&lt;p&gt;An ACK is signaled by the slave pulling the data line low. Likewise a NACK is signaled by the slave not pulling the line low. So a NACK is essentially a &amp;quot;did not respond with anything&amp;quot; -response.&lt;/p&gt;
&lt;p&gt;There is no way to directly tell whether the slave is there but didn&amp;#39;t respond, or if it is not there at all. But a working slave will respond to its address, so I would just try to send a few commands during production test and if there is never an ACK then determine that this board doesn&amp;#39;t have the slave.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>