• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » Stellaris® ARM® Microcontrollers » Stellaris® ARM® LM3S Microcontrollers Forum » Timer PWM Problem
Share
Stellaris® ARM® Microcontrollers
  • Forum
Options
  • Subscribe via RSS
Helpful Stellaris® LM4F Series Links
  • LM4F Series
  • Stellaris PinMux Utility
  • Stellaris® LM4F120 LaunchPad
  • LM4F MCU Applications
  • LM4F MCU Video
  • ARM Cortex-M4F Whitepaper
  • Stellaris MCU Brochure
  • LM4F232 Eval Kit
  • Forums

    Timer PWM Problem

    This question is not answered
    Shanjit Singh
    Posted by Shanjit Singh
    on Mar 23 2012 15:42 PM
    Intellectual310 points

    Hello,

    I have been wanting to use the CCP0 pin of the LM3S608 to generate PWM on the same (CCP0) pin. This doesn't happen,  I know there is some trivial issue. Could someone please correct me ?

    void TimerInit(void)
    {

    SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

    GPIOPinConfigure(CCP1_PIN);


    GPIOPinTypeTimer(GPIO_PORTC_BASE, GPIO_PIN_5);


    TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC | TIMER_CFG_B_PWM);


    TimerLoadSet(TIMER0_BASE, TIMER_B, SysCtlClockGet());


    TimerMatchSet(TIMER0_BASE, TIMER_B, TimerLoadGet(TIMER0_BASE, TIMER_B) / 2);


    //TimerControlLevel(TIMER0_BASE, TIMER_B, true);

    /* Enable Timer0A. */
    TimerEnable(TIMER0_BASE, TIMER_B);

    }
    
    
    thanks
    --
    Shanjit Singh Jajmann
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Sue Cozart
      Posted by Sue Cozart
      on Mar 23 2012 16:48 PM
      Guru50120 points

      Hi Shanjit,

      The GPIOPinConfigure function is not applicable to the LM3S608.  You should instead use GPIOPinTypeTimer().  Also you mention CCP0 in your text, but your code uses CCP1.

      Regards,

      Sue

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1_mobile
      Posted by cb1_mobile
      on Mar 23 2012 17:33 PM
      Guru21870 points

      Along w/Sue's comments (you must eliminage the GPIOPinConfigure() call as she stated) try the following:

      a) Your PortC_GPIO_PIN_5 is CCP1 - as you state - but this requires that you employ "Half-Width" not Full Width timers.

      Thus your Code must change to: TimerConfigure(TIMER0_BASE, TIMER_CFG_B_PERIODIC | TIMER_CFG_B_PWM);  // only half-width timers can utilize Timer_B

      b) Believe this is all that is required to get you going.  Beware that the faster you run this timer - the less resolution will be available for your PWM.  The PWM capability is surprisingly good and none of the difficulties which impinge the more sophisticated PWM Modules of more advanced MCUs will effect your PWM.  (i.e. you may freely range from 0 - 100% PWM)

      Your confirming report will be appreciated - and "close the loop" for interested others...   Good luck...

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Shanjit Singh
      Posted by Shanjit Singh
      on Mar 24 2012 01:13 AM
      Intellectual310 points

      Much Appreciated replies. Indeed, i am trying to get PWM working on the CCP1 pin (Typo). 

      cb1_mobile

      Along w/Sue's comments (you must eliminage the GPIOPinConfigure() call as she stated) try the following:

      a) Your PortC_GPIO_PIN_5 is CCP1 - as you state - but this requires that you employ "Half-Width" not Full Width timers.

      Thus your Code must change to: TimerConfigure(TIMER0_BASE, TIMER_CFG_B_PERIODIC | TIMER_CFG_B_PWM);  // only half-width timers can utilize Timer_B

      Oh yes! I overlooked this!

      b) Believe this is all that is required to get you going.  Beware that the faster you run this timer - the less resolution will be available for your PWM.  The PWM capability is surprisingly good and none of the difficulties which impinge the more sophisticated PWM Modules of more advanced MCUs will effect your PWM.  (i.e. you may freely range from 0 - 100% PWM)

      Ditto! 

      Your confirming report will be appreciated - and "close the loop" for interested others...   Good luck... 

      What i didn't understand was, why not to use the GPIOPinConfigure() function ? Also, removing that, doesn't make it work! 

      Total Code: http://pastebin.com/KwGsGwLv

      Just to be clear

      i have a LED at PC5/CCP1 pin on my LM3S608 board. I am trying to run a PWM on the pin so that i could get the effect on the LED. 

      thank you

      --

      Shanjit Singh Jajmann

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1-
      Posted by cb1-
      on Mar 24 2012 16:03 PM
      Mastermind9110 points

      Almost looked like we had you up/running - and then you multi-quested - threw us a curve.

      So: have you changed TimerConfigure() (via cut/paste is safest) to include corrected parameter: TIMER_CFG_B_PERIODIC ???  Unclear to me if you really made this change...

      GPIOPinConfigure() - SW-DRL-UG does advise that this function is not available for your (dare I say) "class" MCU.  Highlight that function - right click - and you can review how the function is built - and the fact that it exploits mechanisms not present w/in your MCU.

      As your test gear is an Led have you tested it - and its series limiting R?  Suggest that you revert your code to non-PWM - change PC5 to basic output - and confirm that your Led monitor works in that manner. 

      Should the Led and PC5 work - change your PWM frequency to hard-coded 1000Hz and then further hard-code a variety of values into TimerMatchSet()...  Your values now are far too low...

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bakr Younis
      Posted by Bakr Younis
      on Oct 08 2012 22:31 PM
      Prodigy180 points

      guys, really appreciate all the comments but it seems that this has not been solved yet. I am in the same boat and I am using the same (almost) simple approach to mux the CCP pin to an LED output. the LED output does work, and I am using the LM4F120 launchpad kit to accomplish the simple task of output a clock like signal on an LED using timers. below is a snippet of my code, please tell me what I am doing wrong, I know its in the initialization somewhere but cant find whats broken. 

      #define PART_LM4F120H5QR true
      #include "inc/hw_ints.h"
      #include "inc/hw_memmap.h"
      #include "inc/hw_types.h"
      #include "inc/hw_gpio.h"
      #include "driverlib/sysctl.h"
      #include "driverlib/interrupt.h"
      #include "driverlib/gpio.h"
      #include "driverlib/pin_map.h"
      #include "driverlib/timer.h"

      int main (void)

      {
      unsigned long period;
      SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);

      SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
      SysCtlPeripheralEnable (SYSCTL_PERIPH_TIMER0);

      GPIOPinConfigure(GPIO_PF1_T0CCP1);
      GPIOPinTypeTimer(GPIO_PORTF_BASE,GPIO_PIN_1);

      GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE,GPIO_PIN_3);
      GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3,0);

      TimerConfigure (TIMER0_BASE,TIMER_CFG_SPLIT_PAIR);
      //TimerControlLevel (TIMER0_BASE,TIMER_A,false);

      period = (SysCtlClockGet()/10)/2;

      TimerLoadSet(TIMER0_BASE,TIMER_B, period-1);
      //TimerLoadSet(TIMER0_BASE,TIMER_A, 50000);
      //TimerMatchSet (TIMER0_BASE,TIMER_A, 50000/3);

      IntEnable (INT_TIMER0B);
      TimerIntEnable (TIMER0_BASE,TIMER_TIMB_TIMEOUT);
      IntMasterEnable ();

      TimerEnable (TIMER0_BASE,TIMER_B);

      unsigned long i;

      while(1)
      {

      /*for (i=0;i<9;i++)
      {
      i = TimerGetperiod = (SysCtlClockGet()/30)/(i+1);
      TimerLoadSet(TIMER0_BASE,TIMER_A, period-1);
      SysCtlDelay(SysCtlClockGet()*5);
      }*/

      //
      //i = TimerValueGet(TIMER0_BASE,TIMER_A);
      }
      }

      really appreciate your help. 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1_mobile
      Posted by cb1_mobile
      on Oct 09 2012 07:36 AM
      Guru21870 points

      Bakr Younis
      to mux the CCP pin to an LED output. the LED output does work

      Are you certain that you've "mux'ed" the CCP pin to PF_3?  We see where you've cleared PF_3 - but nowhere does PF_3 appear to be, "Set!"

      Unlike simpler MCUs - most ARM devices do "not" directly output their Timer signal.  To achieve your goal I'd expect to see a, "toggle" of PF_3 during your timer interrupt service...

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bakr Younis
      Posted by Bakr Younis
      on Oct 09 2012 19:31 PM
      Prodigy180 points

      Hi cb1,

      my code snippet was a bit confusing since I was doing more than just muxing the CCP to a GPIO, what I was trying to say that the port works on the LM4F120 launchpad, i can access it. what I really wanted is to channel the counting to portF pin1. the muxing tool shows that can be done. portF pin3 was just a GPIO that  i was using for testing. I tried a bunch of timer configuration settings but none of them worked and even I tried enabling the interrupts to see if the timer is firing and also no use. could it be my includes and libraries ? (didnt get any errors). there are other posts on the forum that talk about this but none seem to discuss this muxing issue. by the way, my ultimate goal is to perform PWM and channel that to a GPIO, but if I cant get the simple timer to work then its a moot point.

      any hints would be most appreciated

      #stellarisware #stellarisware/examples muxing to GPIO timer0
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bakr Younis
      Posted by Bakr Younis
      on Oct 09 2012 23:01 PM
      Prodigy180 points
      pwm.c

      ok, I think I am half way there, I got a PWM to work with interrupts (not optimal code ... dont laugh please) what I did:

      my main:

      // clock set

      SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);

      // GPIO set

      SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
      GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
      GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,0);

      //timer0 set to periodic + PWM

      SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
      TimerConfigure(TIMER0_BASE, TIMER_CFG_A_PERIODIC|TIMER_CFG_A_PWM);

      // PWM period

      ulPeriod = (SysCtlClockGet() / 40);

      //load period in timer0A
      TimerLoadSet(TIMER0_BASE, TIMER_A, ulPeriod-1);

      //load match value in compare register
      TimerMatchSet(TIMER0_BASE,TIMER_A, ulPeriod-30000);

      //interrupts setup and enable

      IntEnable(INT_TIMER0A);
      TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT|TIMER_TIMA_MATCH);
      IntMasterEnable();

      //enable timer

      TimerEnable(TIMER0_BASE, TIMER_A);

      .....

      my handler:

      void Timer0IntHandler(void)
      {
      // Clear the timer interrupt
      //unsigned long intStatus =0;
      if (TimerIntStatus (TIMER0_BASE,true) & TIMER_TIMA_MATCH)
      {
      TimerIntClear(TIMER0_BASE, TIMER_TIMA_MATCH);
      //GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,!GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_1));
      if(GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_2))
      GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);
      }

      // Read the current state of the GPIO pin and
      // write back the opposite state
      if (TimerIntStatus (TIMER0_BASE,true) & TIMER_TIMA_TIMEOUT)

      {
      TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
      //GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_1)^1);
      if(GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_2))
      {
      GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);
      }
      else
      {
      GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_PIN_2);
      }
      }

      }

      i want to write this so that the output of the PWM directly goes to the GPIO (PORTF PIN1 or PIN2 or PIN3 are allready connected to LED on the LM4F120 launchpad board) by muxing the timer0 output to the GPIO and let the proper TimerConfigure flags + TimerEnable do the job.

      in stellarisware peripheral examples folder, there is a timers sub folder with a PWM example showing how to do the pin muxing and the proper timerconfigure, has anybody did muxing successfully on the launchpad board ? are there any gotchas that I should be aware of ? I heard I cant use TCCP0 since its locked and needed to be unlocked before I can GPIOConfigure it ?

      if any body can throw me a bone that would be great.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Petrei
      Posted by Petrei
      on Oct 10 2012 06:58 AM
      Mastermind6505 points

      Hi,

      Sometimes problems should be solved beginning with the end (specifications, schematics, what you have at hand..) - in your case: launchpad has the LEDs connected to PF1, PF2, PF3 - you want use PWM to set on/off the LED at PF1 - but reading the micro user manual, page 659, table 11-2: PF1 is the pin for T0CCP1; same page, table 11-1: T0CCP1 is the capture input/pwm out for TimerB, while in your program you use TimerA. Why? (or I am wrong guessing your goals...)

      Suppose you will succeed to use the PWM, here it is a new problem: what if I want to manage all LEDs on board, how you will do that with only one 16-bit timer, for all LEDs? - just think about, all I want to emphasize is do not try to waist the resources...

      Petrei

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1_mobile
      Posted by cb1_mobile
      on Oct 10 2012 07:47 AM
      Guru21870 points

      Pardon - you have "so much" going on - very hard to give crisp/clear response.  KISS (simplify) ALWAYS Works best for our small group.

      Suggest that you clearly list your written design objectives - then devise a plan of attack for each one.  Try to avoid complications and "over-optimization" in the beginning - instead a, "Quick, Dirty" Mission Accomplished should be the goal.  Later - as/if required - you can tweak/refine...

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bakr Younis
      Posted by Bakr Younis
      on Oct 10 2012 10:32 AM
      Prodigy180 points

      you can tell that I am a newbie but that's besides the fact, ill try to summarize here with what exactly I am trying to do and how did I attempt it and what did I see.

      hardware: LM4F120 launchpad board

      objective: control one of the LEDs on the board with a simple timer output where I can control the period (and eventually PWM but lets KISS right now) by directly muxing the timer output to the LED output. 

      reference: PWM.c example that's included in stellarisware shipped with the launchpad (uses driverlib calls).

      per previous comments, the data sheet shows timer0B CCP pin muxed to PIN1 on portF which is what I originally tried to do but no blinky ;( here is the original code:

      .... 

       

      #define PART_LM4F120H5QR true // this is to map the correct muxed pin using the GPIOPinConfigure for the micro I am using (I think this should work because it compiled correctly)
      #include "inc/hw_ints.h"
      #include "inc/hw_memmap.h"
      #include "inc/hw_types.h"
      #include "inc/hw_gpio.h"
      #include "driverlib/sysctl.h"
      #include "driverlib/interrupt.h"
      #include "driverlib/gpio.h"
      #include "driverlib/pin_map.h"
      #include "driverlib/timer.h"

      int main (void)

      {

      unsigned long ulPeriod;

      // system clock 

      SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);

      // configure the port, mux the pin, select timeroutput type (almost copy and paste from PWM.c from the stellarisware examples folder), PWM.c uses timer1B and muxes portE different micro I think

      SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);

      GPIOPinConfigure(GPIO_PF1_T0CCP1);
      GPIOPinTypeTimer(GPIO_PORTF_BASE,GPIO_PIN_1);

      // select and configure the timer, similar to code in PWM.c

      SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);

      TimerConfigure(TIMER0_BASE, TIMER_CFG_B_PERIODIC);

      ulPeriod = (SysCtlClockGet() / 40);
      TimerLoadSet(TIMER0_BASE, TIMER_B, ulPeriod-1);

      // no interrupts just run

      TimerEnable(TIMER0_BASE, TIMER_B);

      while(1)
      {


      }
      }

      the LED doesn't blink, but everything complies and loop is running when I pause and resume. I guess this is a better writeup of the problem from the previous post. still learning this forum posting thing, I usually dont have a bunch of questions. I read somehting in the data sheet about even/odd T0CCP pins ? does that have anything to do with it ? 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1_mobile
      Posted by cb1_mobile
      on Oct 10 2012 11:23 AM
      Guru21870 points

      Haven't time now to go thru all of your code.  You speak of "muxing" the Timer with a GPIO pin.  Believe we have difference of opinion here - my sense is that, "Muxing a pin means "Selecting from a variety of possible Uses and/or Configurations for that specific Pin!"  

      As stated previously - normally you cannot directly output the Timer Signal from an ARM MCU pin. 

      Your earlier, bulk code showed PF_1 cleared to zero - but never showed how PF_1 would be "SET" to 1.  My sense is that you believe this will happen, "automatically" - by the (forgive) unclearly described act of "muxing."  I have not read/reviewed any of the Launchpad material - can you provide the detail which you believe enables one to output the Timer signal directly from some GPIO thru "Muxing" - alone?  That would be of interest.

      A way which I know to work - is to enable the Timer's "End of Count" interrupt - and have that interrupt service, "toggle" one (or several) GPIO.  (which may drive an Led)  You can avoid the interrupt requirement by "looping" on the timer state in the "pertinent Timer Register" - and using that timer state value to set or clear the GPIO bit dedicated to your monitoring Led.  (again - my belief is that this is NOT automatic - you must specially configure - then Set and Clear this bit/pin...)

      Simpler MCUs did bring the Timer signal directly to a GPIO - you could so enable that function - but I do not believe that is the case with most ARM MCUs...

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bakr Younis
      Posted by Bakr Younis
      on Oct 10 2012 14:35 PM
      Prodigy180 points

      I thought you could select (mux) a GPIO to be a timer output the same way you can make it an input in capture mode, but now that you mention it maybe you cannot do that, and I confused selecting (mux) PWM output instead ?? section 11.2 and table 11-2 of LM4F120H5QR mention that T0CCP1 can be assigned to PF1 Capture/compare/pwm functions. could it be that when I set it as a periodic freer run it wont toggle the T0CCP1 and only does that in PWM mode (the rest are inputs). Maybe I should configure it as a PWM (stellariseware example does show that in PWM.c) to get the output to show out ??

      there is an example in the GPIO section (table 10-3 of the same data sheet )that shows how GPIO is configured as a PWM output. I guess a periodic simple free running counter cannot directly be output to a GPIO pin unless its a PWM ? ill try that and see what I get. really appreciate your comments and dedication, you guys are great and this is really helping me out. 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1_mobile
      Posted by cb1_mobile
      on Oct 10 2012 15:32 PM
      Guru21870 points

      Yes - agree - vendor's skill and participation here is outstanding - far outclasses that of competing ARM providers.  (who publicly declare their "possible" disdain for, "sub-adequate volume users")   Note: this is my interpretation of very recent post by other's forum management.  I am neither sponsored by nor part of TI - comment is my own and I believe it to be a fair and accurate representation...

      Now - here is a pertinent data extract from our group's 64 pin Stellaris M4F:

      The General-Purpose Timer Module (GPTM) contains six 16/32-bit GPTM blocks and six 32/64-bit Wide GPTM blocks with the following functional options:

      ■ 16/32-bit operating modes:

      –16- or 32-bit programmable one-shot timer

      –16- or 32-bit programmable periodic timer

      –16-bit general-purpose timer with an 8-bit prescaler

      –32-bit Real-Time Clock (RTC) when using an external 32.768-KHz clock as the input

      –16-bit input-edge count- or time-capture modes with an 8-bit prescaler

      –16-bit PWM mode with an 8-bit prescaler and software-programmable output inversion of the PWM signal

      ■ 32/64-bit operating modes:

      –32- or 64-bit programmable one-shot timer

      –32- or 64-bit programmable periodic timer

      –32-bit general-purpose timer with a 16-bit prescaler

      –64-bit Real-Time Clock (RTC) when using an external 32.768-KHz clock as the input

      –32-bit input-edge count- or time-capture modes with a16-bit prescaler

      –32-bit PWM mode with a 16-bit prescaler and software-programmable output inversion of the PWM signal

      *** Thus - nowhere herein is, "Timer Output"  expressly  stated, nor implied.   And this was my point...

      Do agree that a reduced PWM output capability seems implied.  (reduced when compared to formal, PWM Module - also resident this MCU)  But this is "not" the Timer Output you desire...  Continue to believe that you'll have to "synthesize" that - via some invention and/or indirection.

      And - you are perilously close to, "dreaded PF_0" - which along w/ PD_7 default into NMI function - and will not behave as "normal" until you perform a special, "Unlocking Procedure."  (this reporter/others have requested this caution be better conveyed - under "due" (yet seemingly "glacial") consideration by vendor - beware...

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Bakr Younis
      Posted by Bakr Younis
      on Oct 10 2012 17:09 PM
      Prodigy180 points

      dont you love it when great minds come to an agreement, but to your first point you guys rock and kick forum ass. so you agree with me that there is a way to channel that timer output to a GPIO through the PWM (reduced function per what you mentioned and I agree). so KISS didnt work in my original post since I thought I could easily mux the timer output to the GPIO in normal periodic instead of PWM. having said that, ill try and change the code to PWM (my original intent before KISS ;) and see what happens. to your point again and I do appreciate the comment, I did get the PWM working with interrupts (previous code snipets up there somewhere) so next would be PWM to GPIO with no interrupts. ill play around and let you know, maybe my learning experience after success will help other people.

      again, really appreciate your work and most valued help.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    12
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use