<?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>What is the minimum timer interrupt possible in nRF51822?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/14091/what-is-the-minimum-timer-interrupt-possible-in-nrf51822</link><description>Hi,
I want to generate PWM pulses of width 14uSec(off time) and 42uSec(on time). Is it possible to achieve the above 
 
 with app_timer module 
 without app_timer module and by using NRF_TIMER0 registers?
Can you point out examples to obtain minimum</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 03 Jun 2016 07:37:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/14091/what-is-the-minimum-timer-interrupt-possible-in-nrf51822" /><item><title>RE: What is the minimum timer interrupt possible in nRF51822?</title><link>https://devzone.nordicsemi.com/thread/53864?ContentTypeID=1</link><pubDate>Fri, 03 Jun 2016 07:37:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10b50779-e481-407c-b0ab-68add45fe33f</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;how many usec are you talking about? there is a propagation delay of events between modules. For stable behavior I would recommend not to generate pwm waves with on/off cycle less that 5 timer ticks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the minimum timer interrupt possible in nRF51822?</title><link>https://devzone.nordicsemi.com/thread/53865?ContentTypeID=1</link><pubDate>Thu, 02 Jun 2016 19:36:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7c10f9d-7c36-4fcc-b079-c53d2091fcb6</guid><dc:creator>nordicdev</dc:creator><description>&lt;p&gt;I tried the example using ppi+gpiote+timer for generating pwm. but, when I go below a certain usec on/off time, the pwm waves generated are not stable. Is this a limitation?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the minimum timer interrupt possible in nRF51822?</title><link>https://devzone.nordicsemi.com/thread/53863?ContentTypeID=1</link><pubDate>Thu, 26 May 2016 09:06:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4043ea7d-eec8-441d-bd9f-f25a52f7de1d</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;There are PWM examples in SDK_11\examples\peripheral\pwm_library
Please run that on your board to see if it works on your LED, It will be good starting point for you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the minimum timer interrupt possible in nRF51822?</title><link>https://devzone.nordicsemi.com/thread/53862?ContentTypeID=1</link><pubDate>Thu, 26 May 2016 07:36:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1e8b78d-6a55-48a5-afea-02f99ac073e1</guid><dc:creator>nordicdev</dc:creator><description>&lt;p&gt;Hi Aryan, thanks for the reply. How do I achieve 14uSec on time and 42uSec off time? I tried using the PWM example code (which uses PPI and GPIOTE), but when I change the duty_cycle to any value between 1 and 255, there is no effect in the output PWM wave. Can you please help? Or, if you could attach  a file that can do PWM with outputting different duty cycles at 2 separate pins, that would be great, because that is what I want.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the minimum timer interrupt possible in nRF51822?</title><link>https://devzone.nordicsemi.com/thread/53861?ContentTypeID=1</link><pubDate>Thu, 26 May 2016 07:28:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb102d4b-8a5d-43df-b6a8-823261ed17ec</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;The best counter resolution of RTC (app_timer) is 30.5uS. And it is mentioned in the app_timer_start api that the minimum ticks that could be configured is 5. So the shortest pulse you can achieve with app_timer is 30.5 * 5 = 152.5uS.&lt;/p&gt;
&lt;p&gt;The below is from SDK11 app_timer module.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/**@brief Function for starting a timer.
 *
 * @param[in]       timer_id      Timer identifier.
 * @param[in]       timeout_ticks Number of ticks (of RTC1, including prescaling) to time-out event
 *                                (minimum 5 ticks).
 * @param[in]       p_context     General purpose pointer. Will be passed to the time-out handler when
 *                                the timer expires.
 *
 * @retval     NRF_SUCCESS               If the timer was successfully started.
 * @retval     NRF_ERROR_INVALID_PARAM   If a parameter was invalid.
 * @retval     NRF_ERROR_INVALID_STATE   If the application timer module has not been initialized or the timer
 *                                       has not been created.
 * @retval     NRF_ERROR_NO_MEM          If the timer operations queue was full.
 *
 * @note The minimum timeout_ticks value is 5.
 * @note For multiple active timers, time-outs occurring in close proximity to each other (in the
 *       range of 1 to 3 ticks) will have a positive jitter of maximum 3 ticks.
 * @note When calling this method on a timer that is already running, the second start operation
 *       is ignored.
 */
uint32_t app_timer_start(app_timer_id_t timer_id, uint32_t timeout_ticks, void * p_context);
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>