📄 setdcoc56pwm_gb.c
字号:
#if defined(__PIC24F__)
#include <p24Fxxxx.h>
#endif
#include <outcompare.h>
#if defined (_OCMP_V4_5) && defined (_OCMP_V4_6)
/*************************************************************************************
Function Prototype : char SetDCOC56PWM(unsigned long dutycycle,unsigned long period)
Include : outcompare.h
Description : This function configures the Output Compare Secondary Duty Cycle
register (OCxRS) when the module is in PWM mode.
Arguments : dutycycle - This is the duty cycle value to be stored into Output
Compare Main Duty Cycle register (OCxR).
period - This is the period stored into Secondary register (OCxRS)
Return Value : Returns '1' on successful loading value else return '-1'.
Remarks : The Output Compare Main and Secondary register will be
configured with new value only if the module is in PWM mode.
**************************************************************************************/
char SetDCOC56PWM(unsigned long dutycycle,unsigned long period)
{
if(((OC5CON1bits.OCM & 0x06) == 0x06) && ((OC6CON1bits.OCM & 0x06) == 0x06 ))/* check if OC is in PWM Mode */
{
if(OC5CON2bits.OC32 == 1 && OC6CON2bits.OC32 == 1 ) /*check if OC is in cascade mode*/
{
OC5R = dutycycle; /* Odd OCx loaded with LSB */
OC6R = dutycycle >> 16; /* Even OCx loaded with MSB */
OC5RS = period;
OC6RS = period >> 16;
return 1;
}
else
return -1;
}
else
return -1;
}
#else
#warning "Does not build on this target"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -