<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: perform us wait using lptmr driver in S32K</title>
    <link>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1885323#M36455</link>
    <description>&lt;DIV&gt;i added this function:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void LPTMR_DRV_DelayUs()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_StartCounter(INST_LPTMR1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; while (!(LPTMR_DRV_GetCompareFlag(INST_LPTMR1)));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_ClearCompareFlag(INST_LPTMR1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_StopCounter(INST_LPTMR1);&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;so when i first initilize the driver i do this:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; lptmr_config_t lpTmr1_config0 =&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .workMode = LPTMR_WORKMODE_TIMER,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .dmaRequest = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .interruptEnable = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .freeRun = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .compareValue = 100,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .counterUnits = LPTMR_COUNTER_UNITS_MICROSECONDS,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .clockSelect = LPTMR_CLOCKSOURCE_SIRCDIV2,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .prescaler = LPTMR_PRESCALE_2,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .bypassPrescaler = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .pinSelect = LPTMR_PINSELECT_TRGMUX,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .pinPolarity = LPTMR_PINPOLARITY_RISING,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_Init(INST_LPTMR1, &amp;amp;lpTmr1_config0, false);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;And then during the task running i do this:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (void)gpio_write(&amp;amp;gpio, false);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LPTMR_DRV_DelayUs();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (void)gpio_write(&amp;amp;gpio, true);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LPTMR_DRV_DelayUs();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I was supposed to get 100us delay between the gpio toggling, but instead i get 108us, and the 8 will always be there (ex. if i configure the timer for 50us i will get 58us etc)&lt;/DIV&gt;</description>
    <pubDate>Tue, 11 Jun 2024 15:51:23 GMT</pubDate>
    <dc:creator>elb1</dc:creator>
    <dc:date>2024-06-11T15:51:23Z</dc:date>
    <item>
      <title>perform us wait using lptmr driver</title>
      <link>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1884228#M36392</link>
      <description>&lt;P&gt;Hello i am using lptmr project example from sdk (lptmr_periodic_interrupt) for s32k142, and i want to use for freertos project.&lt;BR /&gt;i am not using interrupts which means i don't want it to go to the interrupt once the configured value has past.&lt;BR /&gt;What i want is to perform a microsecond delay, how can i do that using the functions that are in lptmr_driver.c file ?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jun 2024 12:26:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1884228#M36392</guid>
      <dc:creator>elb1</dc:creator>
      <dc:date>2024-06-10T12:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: perform us wait using lptmr driver</title>
      <link>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1885323#M36455</link>
      <description>&lt;DIV&gt;i added this function:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void LPTMR_DRV_DelayUs()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_StartCounter(INST_LPTMR1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; while (!(LPTMR_DRV_GetCompareFlag(INST_LPTMR1)));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_ClearCompareFlag(INST_LPTMR1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_StopCounter(INST_LPTMR1);&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;so when i first initilize the driver i do this:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; lptmr_config_t lpTmr1_config0 =&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .workMode = LPTMR_WORKMODE_TIMER,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .dmaRequest = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .interruptEnable = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .freeRun = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .compareValue = 100,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .counterUnits = LPTMR_COUNTER_UNITS_MICROSECONDS,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .clockSelect = LPTMR_CLOCKSOURCE_SIRCDIV2,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .prescaler = LPTMR_PRESCALE_2,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .bypassPrescaler = false,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .pinSelect = LPTMR_PINSELECT_TRGMUX,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .pinPolarity = LPTMR_PINPOLARITY_RISING,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; LPTMR_DRV_Init(INST_LPTMR1, &amp;amp;lpTmr1_config0, false);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;And then during the task running i do this:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (void)gpio_write(&amp;amp;gpio, false);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LPTMR_DRV_DelayUs();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (void)gpio_write(&amp;amp;gpio, true);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LPTMR_DRV_DelayUs();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I was supposed to get 100us delay between the gpio toggling, but instead i get 108us, and the 8 will always be there (ex. if i configure the timer for 50us i will get 58us etc)&lt;/DIV&gt;</description>
      <pubDate>Tue, 11 Jun 2024 15:51:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1885323#M36455</guid>
      <dc:creator>elb1</dc:creator>
      <dc:date>2024-06-11T15:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: perform us wait using lptmr driver</title>
      <link>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1887321#M36577</link>
      <description>&lt;P&gt;Thank you so much for your interest in our products and for using our community.&lt;/P&gt;
&lt;P&gt;I noticed that you have another similar case, so I will follow up on this last one that I mention.&lt;/P&gt;
&lt;P&gt;Have a nice day!&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jun 2024 21:44:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/perform-us-wait-using-lptmr-driver/m-p/1887321#M36577</guid>
      <dc:creator>_Leo_</dc:creator>
      <dc:date>2024-06-13T21:44:15Z</dc:date>
    </item>
  </channel>
</rss>

