Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

PWM settings

2005-08-01 by MattKav

I am confused about setting up the PWM code.  Below is my
initialization code.  Here is my confustion...
When I set PWMMR4 to 0, I get a very short logic 1 output.  I would
expect it to always be 0.
When I set PWMMR4 to 100, it is always logic 0 output.  I would expect
it to always be 1.
When I set PWMMR4 to 101, it is always logic 1 output as expected.

Am I doing something wrong, or do I have wrong expectations?

Thanks,
Matt

// PWM4
PINSEL0 = (PINSEL0 & ~PWM4_PINMASK) | PWM4_PINSEL;

//PWMTCR = 0x5;
PWMTCR = PWMCR_RESET; // reset & disable timer 1
PWMPR = PWM_PCLK_DIV - 1; // set the prescale divider ( 3-1 = 2)

PWMMCR = PWM_MR0_R; // reset PWM0 when a match occurs
PWMPCR = PWM_ENO4; // enable PWM4 output

PWMMR0 = 100; // reset PWM0 every 100 ticks
PWMMR4 = 50; // 50% duty cycle on PWM4
PWMLER = PWM_ENL4; // enable the pwm match register values

PWMTCR = PWMCR_ENABLE; // enable pwm

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.