<?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>I2S programming on nRF52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/36061/i2s-programming-on-nrf52840</link><description>Hi, 
 
 I am trying to write 16bit, 16Khz, 2 channel PCM data to I2S. nRF52840 DK board is connected to speaker via I2S player/decoder board. I am able to hear audio but it is not that good. Looks bit of noisy. 
 
 I have seen I2S loopback example in</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 13 Jul 2018 12:42:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/36061/i2s-programming-on-nrf52840" /><item><title>RE: I2S programming on nRF52840</title><link>https://devzone.nordicsemi.com/thread/140065?ContentTypeID=1</link><pubDate>Fri, 13 Jul 2018 12:42:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aaec0ad7-fa2c-451a-b565-94035f9ff7e4</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The code vill return from sd_app_evt_wait() on any interrupt that is being forwarded to your application (BLE, button presses, timers, etc.). Can you post your code?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2S programming on nRF52840</title><link>https://devzone.nordicsemi.com/thread/139230?ContentTypeID=1</link><pubDate>Fri, 06 Jul 2018 10:40:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bccf862e-549d-4b9f-94fb-e82875c57f98</guid><dc:creator>Rahul Bedarkar</dc:creator><description>&lt;p&gt;Hi Kenneth,&lt;/p&gt;
&lt;p&gt;Thanks for your reply.&lt;/p&gt;
&lt;p&gt;I am using&amp;nbsp;&lt;span&gt;sd_app_evt_wait() before writing next buffer. But&amp;nbsp;mp_block_to_fill is NULL in most of cases when&amp;nbsp;sd_app_evt_wait()&amp;nbsp; returns. This means that some other interrupt&amp;nbsp;has come. I have BLE connection active, may be there is some activity going on. How to wait only for I2S transfer complete such cases?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Rahul&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2S programming on nRF52840</title><link>https://devzone.nordicsemi.com/thread/138999?ContentTypeID=1</link><pubDate>Wed, 04 Jul 2018 14:00:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7332a605-abdd-482b-b02d-5dec8cf8a241</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;1. This is just for power optimization, to keep the CPU in idle when there is nothing to do (waiting for an event), you can remove it if you like.&lt;/p&gt;
&lt;p&gt;2. The I2S module is double buffered, you can prepare next buffer while current is written, the max size of each buffer is 8192bytes:&lt;br /&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/i2s.html?cp=2_0_0_5_10_6#concept_gq4_jly_vr"&gt;http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/i2s.html?cp=2_0_0_5_10_6#concept_gq4_jly_vr&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/i2s.html?cp=2_0_0_5_10_9_16#register.RXTXD.MAXCNT"&gt;http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/i2s.html?cp=2_0_0_5_10_9_16#register.RXTXD.MAXCNT&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. The I2S can be used with softdevice yes, but in that case you can call&amp;nbsp;sd_app_evt_wait() instead of __WFE().&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>