<?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>How to set pwm to ppi mode?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/114840/how-to-set-pwm-to-ppi-mode</link><description>I want to use ppi to drive PWM. Attachment is my code files, it can&amp;#39;t work. 
 How should I configure it.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 25 Sep 2024 08:25:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/114840/how-to-set-pwm-to-ppi-mode" /><item><title>RE: How to set pwm to ppi mode?</title><link>https://devzone.nordicsemi.com/thread/503676?ContentTypeID=1</link><pubDate>Wed, 25 Sep 2024 08:25:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9823605a-d787-46ce-8098-d90123f79c1f</guid><dc:creator>Leo Mo</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;bool pwm_play_ppi_task_event_init(pwm_play_t *pp)
{
#if defined(__ZEPHYR__)
    //Has IRQ_CONNECT or IRQ_DIRECT_CONNECT accidentally been invoked on the same irq multiple times?
    // IRQ_CONNECT(NRFX_IRQ_NUMBER_GET(NRF_GPIOTE_INST_GET(0)), IRQ_PRIO_LOWEST,
    //             NRFX_GPIOTE_INST_HANDLER_GET(0), 0, 0);
#endif    
    nrfx_err_t err; 
    if(NULL == pp)return false;

	 nrfx_gpiote_trigger_config_t trigger_config = {
		.trigger = pp-&amp;gt;trigger,
		.p_in_channel = &amp;amp;pp-&amp;gt;gpiote_channel,
	};

	 nrfx_gpiote_input_pin_config_t input_pin_config = {
		.p_trigger_config = &amp;amp;trigger_config,
        .p_pull_config = &amp;amp;pp-&amp;gt;pin_pull,
        .p_handler_config = &amp;amp;pp-&amp;gt;gpiote_handler,
	};

    err = nrfx_gpiote_init(&amp;amp;pp-&amp;gt;gpiote, NRFX_GPIOTE_DEFAULT_CONFIG_IRQ_PRIORITY);
    if (err != NRFX_SUCCESS &amp;amp;&amp;amp; err != NRFX_ERROR_ALREADY) {
        LOG_ERR(&amp;quot;gpiote_init failed with: %x\n&amp;quot;, err);
		return false;
	}

	err = nrfx_gpiote_channel_alloc(&amp;amp;pp-&amp;gt;gpiote, &amp;amp;pp-&amp;gt;gpiote_channel);
	if (err != NRFX_SUCCESS) {
        LOG_ERR(&amp;quot;gpiote_channel_alloc failed with: %x\n&amp;quot;, err);
		return false;
	}

	err = nrfx_gpiote_input_configure(&amp;amp;pp-&amp;gt;gpiote, pp-&amp;gt;pin, &amp;amp;input_pin_config);
    if (err != NRFX_SUCCESS) {
        LOG_ERR(&amp;quot;gpiote_input_configure failed with: %x\n&amp;quot;, err);
		return false;
	}
	nrfx_gpiote_trigger_enable(&amp;amp;pp-&amp;gt;gpiote, pp-&amp;gt;pin, true);

	err = nrfx_gppi_channel_alloc(&amp;amp;pp-&amp;gt;gppi_channel);
	if (err != NRFX_SUCCESS) {
		LOG_ERR(&amp;quot;gppi_channel_alloc failed with: %x\n&amp;quot;, err);
		return false;
	}

	nrfx_gppi_channel_endpoints_setup(pp-&amp;gt;gppi_channel,
    nrfx_gpiote_in_event_address_get(&amp;amp;pp-&amp;gt;gpiote, pp-&amp;gt;pin), pp-&amp;gt;task_addres);
    LOG_INF(&amp;quot;gppi_channel %u, gpiote_channel %u, task_addres %u&amp;quot;, pp-&amp;gt;gppi_channel, pp-&amp;gt;gpiote_channel, pp-&amp;gt;task_addres);
    return true;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;These code can work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to set pwm to ppi mode?</title><link>https://devzone.nordicsemi.com/thread/503211?ContentTypeID=1</link><pubDate>Fri, 20 Sep 2024 07:59:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0c0b793-a118-481d-82de-8f0daab2c115</guid><dc:creator>Leo Mo</dc:creator><description>&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;I want to use PWM PPI mode to send data to an external radio chip.&lt;/p&gt;
&lt;p&gt;Now, I can&amp;#39;t trigger&amp;nbsp; PPI task by an IN-event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to set pwm to ppi mode?</title><link>https://devzone.nordicsemi.com/thread/503150?ContentTypeID=1</link><pubDate>Thu, 19 Sep 2024 14:29:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:431f771c-8f0f-4ff8-aca1-c6aa641215df</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;Could you explain&amp;nbsp;a bit about what you are you trying to develop and solve?&lt;/p&gt;
&lt;p&gt;You could perhaps just use this sample here?&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/main/samples/drivers/led_pwm/src/main.c"&gt;https://github.com/nrfconnect/sdk-zephyr/blob/main/samples/drivers/led_pwm/src/main.c&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>