<?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>TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/6945/tasks-events-and-registers</link><description>Hi, 
 I am writing a code base on the reference manual of nRF51422. In section 29, UART, I don&amp;#39;t understand the differences between TASKS, EVENTS and REGISTERS. Aren&amp;#39;t they all registers? If yes why they are not explained after this declaration, if no</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 22 Jun 2017 20:27:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/6945/tasks-events-and-registers" /><item><title>RE: TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/thread/24495?ContentTypeID=1</link><pubDate>Thu, 22 Jun 2017 20:27:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99857dd4-cb37-4586-bad7-fa15bb8ac563</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Tim.D
Sorry for confusing text. Like butch mentioned, I meant that triggering a TASK and reading an EVENT status can now be done atomically since there are dedicated registers for those. Otherwise if lot of events and tasks bits are squeezed into one register, then you need to do masking and/or bit shifting before you can trigger/read  TASKS/EVENTS. Do you agree?&lt;/p&gt;
&lt;p&gt;I would have updated my answer with less confusing text but then these comments would become confusing, so i am leaving the text unchanged.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/thread/24494?ContentTypeID=1</link><pubDate>Thu, 22 Jun 2017 15:04:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17ba5b5a-b3be-4ccc-88df-ca88adf8b60e</guid><dc:creator>butch</dc:creator><description>&lt;p&gt;@Tim D.  IMO Aryan does not mean that a single instruction reads-modifies-writes an event register.  The ARM architecture doesn&amp;#39;t seem to have such an atomic instruction.  The &amp;quot;Peripheral Interface&amp;quot; section of the Product Spec also doesn&amp;#39;t say you can read-modify-write with a single instruction.  I would assume that Aryan means &amp;quot;a single instruction to read and another single instruction to clear.&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/thread/24493?ContentTypeID=1</link><pubDate>Fri, 18 Nov 2016 15:12:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a0ac2ec-f97e-44cd-8ba5-6d42630a1866</guid><dc:creator>Tim D</dc:creator><description>&lt;p&gt;You state, &amp;quot;Also this are helpful to read status and clear them by a single instruction.&amp;quot;  How do you do that?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/thread/24492?ContentTypeID=1</link><pubDate>Mon, 11 May 2015 07:07:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae068f89-4a4b-4be5-b05b-7c7c7b11d2f8</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;can you please accept this answer so that we can close it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/thread/24491?ContentTypeID=1</link><pubDate>Fri, 08 May 2015 05:02:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc959b79-2aa5-4f70-920c-6a8e89419293</guid><dc:creator>Vala</dc:creator><description>&lt;p&gt;Thanks Aryan. A complete explanation.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TASKS, EVENTS and REGISTERS</title><link>https://devzone.nordicsemi.com/thread/24490?ContentTypeID=1</link><pubDate>Thu, 07 May 2015 17:59:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85373e2f-82a0-4480-b9c1-8ff2d0c7406e</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;All TASKS,EVENTS and REGISTERS are registers inside the chip have register addresses.
They are grouped differently because of their behaviour.&lt;/p&gt;
&lt;p&gt;TASKS: Writing to a TASK register does some job like start the module or stop the module. One task does only one job as the name next to it suggests.&lt;/p&gt;
&lt;p&gt;EVENTS: These are like status registers, but only for one single status information as the name next to it suggests. If this register reads 1, then that particular event has occured. You can clear the event by writing 0 to it.&lt;/p&gt;
&lt;p&gt;We have such registers so that we do not have to do bit masking to trigger/stop most frequent jobs. Also this are helpful to read status and clear them by a single instruction. Registers like this are important to meet the real time constraints of the BLE softdevice where every instruction count.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>