<?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>I need accurace timer.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/117606/i-need-accurace-timer</link><description>Hello everybody! There is a problem and help is needed. With the help of hardware timers, I need to generate a signal with a given accuracy. The frequency is 998 Hz. I&amp;#39;m using an example from ncs NRFX-timer. The timer does not fire at one point in time</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 20 Jan 2025 06:47:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/117606/i-need-accurace-timer" /><item><title>RE: I need accurace timer.</title><link>https://devzone.nordicsemi.com/thread/518979?ContentTypeID=1</link><pubDate>Mon, 20 Jan 2025 06:47:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2efe4712-cfb1-45cb-b921-7b897f469063</guid><dc:creator>megannnn98</dc:creator><description>&lt;p&gt;Asbj&amp;oslash;rn, Thank you!&lt;br /&gt;&lt;br /&gt;The PPI was the answer to my problem.&lt;/p&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Best regards&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Mikhail&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need accurace timer.</title><link>https://devzone.nordicsemi.com/thread/516479?ContentTypeID=1</link><pubDate>Mon, 30 Dec 2024 09:43:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c6843e1-ccde-4e2e-97b8-0018462594ec</guid><dc:creator>Asbj&amp;#248;rn</dc:creator><description>&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Hi Mikhael&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;I&amp;#39;d recommend you to have a look at the example to set up example with ppi and the timer. It also does and ADC reading, but you can disreagard that and have a look at the timer and ppi configuration.&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;a style="border:0;margin:0;padding:0;vertical-align:baseline;" href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-6-analog-to-digital-converter-adc/topic/exercise-3-interfacing-with-adc-using-nrfx-drivers-and-timer-ppi/"&gt;https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-6-analog-to-digital-converter-adc/topic/exercise-3-interfacing-with-adc-using-nrfx-drivers-and-timer-ppi/&lt;/a&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;I asked if you see the correct timing on the start (rise) event every time and if it&amp;#39;s only when the GPIO is set low IRQ that is varying? As it seems from the screen capture it&amp;#39;s only the timing for the transition from HIGH to LOW that is shifting and changing.&amp;nbsp;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Best regards&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Asbjørn&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need accurace timer.</title><link>https://devzone.nordicsemi.com/thread/516420?ContentTypeID=1</link><pubDate>Sat, 28 Dec 2024 12:23:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f940aff4-5a04-4a46-83fb-86af8936faa3</guid><dc:creator>megannnn98</dc:creator><description>&lt;p&gt;Hello Asbj&amp;oslash;rn. Thanks for your interest!&lt;br /&gt;&lt;br /&gt;I am using the nordic code of the nrfx_timer example&lt;br /&gt;to receive an interrupt with an accurate time interval. &lt;br /&gt;Here I change the pin state via gpio_pin_toggle_dt(&amp;amp;timerr_);&lt;br /&gt;But unfortunately I get different time intervals between interrupts.&lt;br /&gt;I did not use PPI. Can you please advise me how to look at an example with PPI?&lt;br /&gt;The code is applied.&lt;br /&gt;&lt;br /&gt;Best wishes!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;prj.conf&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:&amp;#39;Fira Code&amp;#39;, &amp;#39;Droid Sans Mono&amp;#39;, &amp;#39;monospace&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;CONFIG_NRFX_TIMER1&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;main.cpp&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:&amp;#39;Fira Code&amp;#39;, &amp;#39;Droid Sans Mono&amp;#39;, &amp;#39;monospace&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;static&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;constexpr&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; std::&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; FrequencyToTicks(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;float&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; frequency) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;NRFX_ASSERT&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(frequency &amp;gt;= &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0.1F&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &amp;amp;&amp;amp; frequency &amp;lt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1000.F&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; // NOLINT&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;constexpr&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;double&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; TIMER_TICK_DURATION_NS{&lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;62.5&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;constexpr&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;double&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; COEFFICIENT{config::CONVERT_FREQ_COEFFICIENT};&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; // NOLINT&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;double&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; periodNs{&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;static_cast&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;double&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;gt;(&lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1e9&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; / frequency)};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;return&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;static_cast&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;lt;std::&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; (periodNs / TIMER_TICK_DURATION_NS) * COEFFICIENT);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#include &lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;lt;nrfx_timer.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#define &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;TIMER_INST_IDX&lt;/span&gt;&lt;span style="color:#569cd6;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#define &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;TIMERR&lt;/span&gt;&lt;span style="color:#569cd6;"&gt; DT_ALIAS(timerr)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; gpio_dt_spec timerr_ = GPIO_DT_SPEC_GET(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;TIMERR&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;, gpios);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;static&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; timer_handler(nrf_timer_event_t event_type, &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;*&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; p_context)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;if&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(event_type == NRF_TIMER_EVENT_COMPARE0)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; gpio_pin_toggle_dt(&amp;amp;timerr_);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;int&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; main()&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; nrfx_err_t status;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; (&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;void&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;)status;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; LOG_INF(&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;Starting nrfx_timer basic example:&amp;quot;&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;if&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; (!gpio_is_ready_dt(&amp;amp;timerr_)) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;NRFX_ASSERT&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;false&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;if&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; (&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;int&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; ret = gpio_pin_configure_dt(&amp;amp;timerr_, GPIO_OUTPUT); ret &amp;lt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;NRFX_ASSERT&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;false&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; nrfx_timer_t timer_inst = NRFX_TIMER_INSTANCE(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;TIMER_INST_IDX&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; base_frequency = NRF_TIMER_BASE_FREQUENCY_GET(timer_inst.p_reg);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; nrfx_timer_config_t config = NRFX_TIMER_DEFAULT_CONFIG(base_frequency);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; config.mode = NRF_TIMER_MODE_TIMER;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; config.bit_width = NRF_TIMER_BIT_WIDTH_32;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; config.p_context = &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;nullptr&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; status = nrfx_timer_init(&amp;amp;timer_inst, &amp;amp;config, timer_handler);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;NRFX_ASSERT&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(status == NRFX_SUCCESS);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#if defined(__ZEPHYR__)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; IRQ_DIRECT_CONNECT(NRFX_IRQ_NUMBER_GET(NRF_TIMER_INST_GET(TIMER_INST_IDX)), IRQ_PRIO_LOWEST,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; NRFX_TIMER_INST_HANDLER_GET(TIMER_INST_IDX), &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;#endif&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; nrfx_timer_clear(&amp;amp;timer_inst);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; desired_ticks = FrequencyToTicks(&lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;998.0F&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;) / &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;2UL&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; nrfx_timer_extended_compare(&amp;amp;timer_inst, NRF_TIMER_CC_CHANNEL0, desired_ticks,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;true&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; nrfx_timer_enable(&amp;amp;timer_inst);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;while&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; (&lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; k_sleep(K_MSEC(&lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;500UL&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need accurace timer.</title><link>https://devzone.nordicsemi.com/thread/516419?ContentTypeID=1</link><pubDate>Sat, 28 Dec 2024 12:03:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dc4277ab-d97a-4216-8896-f02ab179f62e</guid><dc:creator>Asbj&amp;#248;rn</dc:creator><description>&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Hello Mikhail,&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Just to see if I understand your picture correctly, you set the GPIO high at T0 and then expect the GPIO to go low after the same amount of time which would be 1/998Hz = 1.002004ms? But you see the IRQ to set it low is varying? The timing between each HIGH is stable and at the right interval?&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Which timer are you using and what is the clock source? How have you configured the timer itself? Are you using PPI to change the GPIO state?&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Best regards&lt;/div&gt;
&lt;div style="border:0;color:rgba(0, 0, 0, 1);font-size:11pt;font-style:normal;font-weight:400;letter-spacing:normal;line-height:inherit;margin:0;padding:0;text-indent:0;text-transform:none;vertical-align:baseline;white-space:normal;"&gt;Asbjørn&amp;nbsp;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>