<?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>SDK TWI documentation and nrfx</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/53159/sdk-twi-documentation-and-nrfx</link><description>Hello, 
 I am developing an application on the 52840 and so far find the SDK documentation quite confusing and somewhat contradictory. I need to write a simple TWI (I2c) master driver for a peripheral. 
 I found a simple API example in the SDK and started</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 15 Oct 2019 07:54:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/53159/sdk-twi-documentation-and-nrfx" /><item><title>RE: SDK TWI documentation and nrfx</title><link>https://devzone.nordicsemi.com/thread/214974?ContentTypeID=1</link><pubDate>Tue, 15 Oct 2019 07:54:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef0bafad-27fb-44dc-adf2-069063743379</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user=""]If nrfx_twim is the master and nrfx_twis is the slave, what is nrfx_twi for?[/quote]
&lt;p&gt;The nrf_drv_twi is mainly a legacy layer to map the APIs to new nrfx driver implementations. Legacy driver integrates support for&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/twi.html?cp=3_1_0_48#concept_rhy_rzp_sr"&gt;TWI&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/twim.html?cp=3_1_0_32#concept_scx_f5p_xr"&gt;TWIM&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;peripherals, while these are split into the separate drivers in nrfx (nrfx_twi and nrfx_twim). All implementation should work similar, but they have some changed APIs.&lt;/p&gt;
&lt;p&gt;The difference between TWI and TWIM peripherals is primarily the support for EasyDMA in TWIM (transfer/receive directly from/to RAM), for operations without CPU being involved.&lt;/p&gt;
&lt;p&gt;Please see this &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/49521/best-twi-i2c-driver-for-the-nrf52832/197599#197599"&gt;post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]I also see some suggestions in the forum that some drivers wont work with softdevices enabled, is this true? If so,&amp;nbsp;which should I use when a softdevice is enabled?[/quote]
&lt;p&gt;Please see&amp;nbsp;&lt;a title="nRF52 Series" href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/sd_mgr/sd_enable_disable.html?resultof=%22%53%6f%66%74%44%65%76%69%63%65%22%20%22%73%6f%66%74%64%65%76%69%63%22%20%22%65%6e%61%62%6c%65%22%20%22%65%6e%61%62%6c%22%20%22%64%69%73%61%62%6c%65%22%20%22%64%69%73%61%62%6c%22%20"&gt;SoftDevice enable and disable&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a title="Application programming interface" href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/overview/api_overview.html?cp=3_4_3_0_3"&gt;Application programming interface&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-Amanda H.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>