<?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>Timer not stopping through PPI</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/74391/timer-not-stopping-through-ppi</link><description>I am having a very strange problem with timers and the PPI channels. 
 I am trying to take a fixed number of ADC samples at 1 ms intervals starting at a fixed offset in time from the occurrence of an interrupt. I set a PPI channel to start Timer 1 when</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Apr 2021 10:48:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/74391/timer-not-stopping-through-ppi" /><item><title>RE: Timer not stopping through PPI</title><link>https://devzone.nordicsemi.com/thread/306979?ContentTypeID=1</link><pubDate>Tue, 27 Apr 2021 10:48:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:736f5145-de8d-4811-984c-7bb8f82ce30b</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Ted,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Ted Jones"]&lt;p&gt;I may also be being misled by what I am seeing.&amp;nbsp; I noticed that my main thread is becoming unresponsive after the sampling so there could be a bigger issue.&amp;nbsp; I have a J-Trace and have been trying to get Ozone to work hoping it will give me some insight into what is going on but I have had no luck.&amp;nbsp; When I run this application in Ozone I get a hard fault during initialization.&amp;nbsp; I believe that it may be due to the softdevice not being flashed properly by Ozone.&lt;/p&gt;
&lt;p&gt;Is there a good tutorial/example of how to get Ozone working with the softdevice?&amp;nbsp; I know the SEGGER project is set up to flash the softdevice and bootloader but I don&amp;#39;t see an easy way to get Ozone to do this.&lt;/p&gt;[/quote]
&lt;p&gt;&amp;nbsp;Ozone will not load&amp;nbsp;the softdevice, and ozone reads the .elf file offsets; which in this case will give you the wrong SP/RESET vector being read from ozone.&lt;/p&gt;
&lt;p&gt;See their wiki for more detailed information on how to setup ozone with a program that starts with an address offset:&amp;nbsp;&lt;a href="https://wiki.segger.com/Debug_on_a_Target_with_Bootloader"&gt;https://wiki.segger.com/Debug_on_a_Target_with_Bootloader&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Timer not stopping through PPI</title><link>https://devzone.nordicsemi.com/thread/306823?ContentTypeID=1</link><pubDate>Mon, 26 Apr 2021 13:28:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:893a283c-4446-4b81-89fd-742e453ab5a7</guid><dc:creator>Ted Jones</dc:creator><description>&lt;p&gt;Thanks for the quick response.&lt;/p&gt;
&lt;p&gt;Yes, I did set the SHORTS register.&amp;nbsp; I will try resetting in the interrupt handler instead and see if that makes a difference.&lt;/p&gt;
&lt;p&gt;I may also be being misled by what I am seeing.&amp;nbsp; I noticed that my main thread is becoming unresponsive after the sampling so there could be a bigger issue.&amp;nbsp; I have a J-Trace and have been trying to get Ozone to work hoping it will give me some insight into what is going on but I have had no luck.&amp;nbsp; When I run this application in Ozone I get a hard fault during initialization.&amp;nbsp; I believe that it may be due to the softdevice not being flashed properly by Ozone.&lt;/p&gt;
&lt;p&gt;Is there a good tutorial/example of how to get Ozone working with the softdevice?&amp;nbsp; I know the SEGGER project is set up to flash the softdevice and bootloader but I don&amp;#39;t see an easy way to get Ozone to do this.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Ted.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Timer not stopping through PPI</title><link>https://devzone.nordicsemi.com/thread/306816?ContentTypeID=1</link><pubDate>Mon, 26 Apr 2021 13:12:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e1ea59b9-09d6-4da1-ab75-836eed64d5cb</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It sounds like you should set the NRF_TIMERx-&amp;gt;SHORTS register:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/timer.html?cp=4_2_0_23_4_0#register.SHORTS"&gt;https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/timer.html?cp=4_2_0_23_4_0#register.SHORTS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here you can set a short from COMPARE[x] -&amp;gt; TASKS_STOP.&lt;/p&gt;
&lt;p&gt;And depending on what you want to achieve, you can also clear the timer when this compare[x] occurs.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Timer not stopping through PPI</title><link>https://devzone.nordicsemi.com/thread/306622?ContentTypeID=1</link><pubDate>Fri, 23 Apr 2021 22:33:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:930f6813-f7d3-4c98-be9f-dc77acf45ce5</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Maybe another Timer 1 compare Event 1 triggers again after a Timer 1 wrap-around; perhaps also try issuing a Stop and Clear&amp;nbsp; to timer 1 so that a wrap does not occur and Timer 1 then waits for a new interrupt transition of the trigger pin. This also assumes that the trigger pin does not issue repeated triggers; most interrupts on the nRF52 are level-sensitive not edge-sensitive, and if the trigger pin interrupt event is not cleared correctly in the handler it will re-trigger Timer 1 and hence Timer 2 for as long as the trigger pin stays high.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>