|
|
View previous topic :: View next topic |
Author |
Message |
Charles Francês
Joined: 29 Feb 2020 Posts: 7
|
Pwm LED RGB with Timer |
Posted: Mon Apr 27, 2020 10:04 am |
|
|
I'm wanting to read the duty cycle values through a matrix and I don't
know how to do it, someone could help me, I'm in doubt in the code.
Code: |
Pic <18fxxx >
#fuses ..........
#int timer0
Int Matrix [1][3] [3] = {{ 255,76,45, 34,54,0, 45,67,86}
{ 255,76,45, 34,54,0, 45,67,86}
{255,76,45, 34,54,0, 45,67,86}};
PWM1= 0; // 255 you know.?
PWM2 = 1; //76
PWM3 = 2; //45
Help me! Please!
//PWM4 =
//PWM5 =
//PWM6 =
//PWM7 =
//PWM8 =[i][/i] |
Last edited by Charles Francês on Mon Apr 27, 2020 5:55 pm; edited 1 time in total |
|
|
Charles Francês
Joined: 29 Feb 2020 Posts: 7
|
|
Posted: Mon Apr 27, 2020 10:14 am |
|
|
I understand that to read the duty cycle you can also write in the PDC0L / H register.
Example:
Code: |
PDC0H = MATRIX [PWM1] >> 8
PDC0L = MATRIX [PWM1]
|
Help me please! |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19541
|
|
Posted: Mon Apr 27, 2020 10:43 am |
|
|
You need to say what PIC.
On normal PIC's using the CCP, the period is controlled by the CCPRx
registers, not the PDC registers. The PDC registers are only for chips
with the power control PWM.
To write to these directly, you can simply use:
Code: |
#word PCD0 = getenv("SFR:PDC0L")
//Then to write to it:
PDC0 = 16bitPWMduty;
|
To put the duty cycle value into the pair of registers.
Now the duty needs to be a 16bit value using this method of access. Your
matrix only contains 8bit values.
Setting the duty cycle is not going to do any good without first setting up
the PWM channels.
So:
What PIC?.
Post your PWM setup.
What PWM range of duty cycles do you want?. |
|
|
Charles Francês
Joined: 29 Feb 2020 Posts: 7
|
|
Posted: Mon Apr 27, 2020 5:20 pm |
|
|
Code: | Ttelmah
Ok thanks
I'm trying to vary the duty cycle with a
matrix, you know? in this case, this three-dimensional matrix increases 3 indices in the first index 0
and in the second index 1 type like this example {1,2,3, 4,5,6, ... }
Matrix [ ] [ ] [ ] = { }
understood,
three-dimensional matrix,
I'm trying to light a
rgb led with the three indices, you know?
PDC0H = MATRIZ [PWM1] >> 2
PDC0L = MATRIZ [PWM1] | [/code] |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|