<?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 does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126739/why-does-twim-driver-execute-suspend-when-no_spurious_stop-is-specified</link><description>Dear 
 I&amp;#39;m working on controlling an I2C device. 
 I want to achieve TX-&amp;gt;TX using the nrfx_twim driver. I specified NRFX_TWIM_XFER_TXTX. When I looked at the nrfx_twim source code, I saw that it sets NRF_TWIM_SHORT_LASTTX_SUSPEND_MASK. Why would I use</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 11 Feb 2026 23:20:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126739/why-does-twim-driver-execute-suspend-when-no_spurious_stop-is-specified" /><item><title>RE: Why does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/thread/560959?ContentTypeID=1</link><pubDate>Wed, 11 Feb 2026 23:20:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fc87459-8cf7-498a-a981-93eaadacf1ef</guid><dc:creator>loquat</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/thread/560405?ContentTypeID=1</link><pubDate>Thu, 05 Feb 2026 09:26:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da76d540-ca67-4d6c-a5d1-769d551bd540</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There is a following sentence in the product specification:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt; The TWI master does not stop by itself when the entire RAM buffer has been sent, or when an error occurs. The STOP task &lt;strong&gt;must &lt;/strong&gt;be issued, through the use of a local or PPI shortcut, or in software as part of the error handler.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and the nrfx_twim implementation has chosen the local shortcut approach.&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/thread/560028?ContentTypeID=1</link><pubDate>Fri, 30 Jan 2026 14:50:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:186ba82d-a1ee-4f2d-ab35-d98fe0881365</guid><dc:creator>loquat</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;How is that different from specifying the LASTTX_STOP shortcut?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/thread/559929?ContentTypeID=1</link><pubDate>Thu, 29 Jan 2026 14:29:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ca13e0c-1ab2-493d-9b4f-d780ae14627a</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;&lt;span&gt;If no shortcuts are specified, obviously a STOP condition will be initiated. And hence we prefer setting a SUSPEND, because this prevents an immediate STOP condition. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If a STOP is initiated, then after the first transmission, the master will have to give up the bus and START again, and in the meantime if some other device gains bus control, then we will have to wait until we get control again, in order to START the next TX.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Priyanka&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/thread/559799?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 14:50:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d74d2a43-27ca-4179-909b-60b27d8f6ebd</guid><dc:creator>loquat</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;What happens if all shortcuts are not specified?&lt;br /&gt;Wouldn&amp;#39;t that also result in a STOP condition?&lt;br /&gt;I&amp;#39;d like to know why it is necessary to set it to SUSPEND instead of not specifying all shortcuts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why does TWIM driver execute SUSPEND when NO_SPURIOUS_STOP is specified?</title><link>https://devzone.nordicsemi.com/thread/559763?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 09:57:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:693b1d25-d2e1-4910-937e-09828ed9e342</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NRF_TWIM_SHORT_LASTTX_SUSPEND_MASK is like a shortcut which connects the LASTTX to the SUSPEND task in the hardware. So what basically happens is that, after the LASTTX event, instead of a STOP condition (which forces the TX to release the bus), a SUSPEND is instead given, so that the bus need not be released yet, as there will be a new TX that&amp;#39;s going to happen. You could say that it&amp;#39;s like the repeated START condition in a usual TWI scenario.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So when you use the&amp;nbsp;NRFX_TWIM_XFER_TXTX, the&amp;nbsp;NRF_TWIM_SHORT_LASTTX_SUSPEND_MASK is also enabled so that there is no interruption between the first TX and the next, i.e. a STOP condition is not enabled for smoother transactions.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Priyanka&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>