Files
RCU_C12_Dimming/pwm_control.c

359 lines
12 KiB
C
Raw Permalink Normal View History

#include "pwm_control.h"
#include "GPIO.h"
#include "STC8xxxx.h"
#include "PWM15bit.h"
#include "timer.h"
#include "UART_Set.h"
#include "string.h"
S_PWM s_pwm;
/*
*1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>5.0/5.1<EFBFBD>ij<EFBFBD>ʼ<EFBFBD><EFBFBD>
*2.<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>PWM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*3.LED_DRV_12V_EN<EFBFBD>õ<EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
/******************* IO<49><4F><EFBFBD>ú<EFBFBD><C3BA><EFBFBD> *******************/
void GPIO_config(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //<2F><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
/***********************************1*******************************************/
GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_PullUp; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P5,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
/***********************************2*******************************************/
GPIO_InitStructure.Pin = GPIO_Pin_All; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_OUT_PP; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P0,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
GPIO_InitStructure.Pin = GPIO_Pin_Left; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_OUT_PP; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P2,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
/***********************************3*******************************************/
GPIO_InitStructure.Pin = GPIO_Pin_0; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_OUT_PP; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P1,&GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
}
void pwm_config(void)
{
u8 i;
PWM15_InitTypeDef PWM15_InitStructure;
PWM15_InitStructure.PWM_Enable = ENABLE; //PWMʹ<4D><CAB9>, ENABLE, DISABLE
PWM15_InitStructure.PWM_Period = 0x04E2; //PWM<57><4D><EFBFBD><EFBFBD>, 1250,Ƶ<><C6B5>Ϊ16khz
PWM15_InitStructure.PWM_Clock_Sel = PWMn_CLK_SYS; //ʱ<><CAB1>Դѡ<D4B4><D1A1>, PWMn_CLK_SYS, PWMn_CLK_TM2
PWM15_InitStructure.PWM_Clock_PS = 0; //ϵͳʱ<CDB3>ӷ<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>(PS+1<><31>Ƶ), 0~15
PWM15_InitStructure.PWM_Counter = ENABLE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, ENABLE, DISABLE
PWM15_Init(PWM0,&PWM15_InitStructure); //<2F><>ʼ<EFBFBD><CABC>PWM0
PWM15_Init(PWM2,&PWM15_InitStructure); //<2F><>ʼ<EFBFBD><CABC>PWM2
PWM15Duty(PWM00,initial_Val); //PWM_ID, <20><><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽλ<C6BD><CEBB>, <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽλ<C6BD><CEBB>
PWM15Duty(PWM01,initial_Val); //PWM_ID, <20><><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽλ<C6BD><CEBB>, <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽλ<C6BD><CEBB>
PWM15Duty(PWM02,initial_Val); //PWM_ID, <20><><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽλ<C6BD><CEBB>, <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽλ<C6BD><CEBB>
PWM15Duty(PWM03,initial_Val); //PWM_ID, <20><><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽλ<C6BD><CEBB>, <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽλ<C6BD><CEBB>
PWM15Duty(PWM04,initial_Val);
PWM15Duty(PWM05,initial_Val);
PWM15Duty(PWM06,initial_Val);
PWM15Duty(PWM07,initial_Val);
PWM15Duty(PWM20,initial_Val);
PWM15Duty(PWM21,initial_Val);
PWM15Duty(PWM22,initial_Val);
PWM15Duty(PWM23,initial_Val);
memset(&s_pwm,0,sizeof(s_pwm));
for(i=0;i<12;i++)
{
s_pwm.currpwm[i]=initial_Val;
}
PWMChannelCtrl(PWM00,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM01,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM02,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM03,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM04,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM05,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM06,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM07,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM20,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM21,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM22,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
PWMChannelCtrl(PWM23,ENABLE,1,DISABLE,DISABLE,DISABLE); //PWM_ID, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>, <20><>ʼ<EFBFBD><CABC>ƽ, PWM<57>ж<EFBFBD>, <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
}
//10ms<6D><73><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
void deal_command1(void)
{
int i=0;
static u32 systick_command1 = 0;
if (systick_1ms - systick_command1 >= 10)
{
systick_command1 = systick_1ms;
for (i = 0; i < 12; i++)
{
if (s_recv.flag1[i])
{
if (s_pwm.wanttopwm[i] > s_pwm.currpwm[i])
{
//s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i];
s_pwm.doublecurrpwm[i] += s_pwm.every_change_10ms[i];
s_pwm.currpwm[i] = (u16)s_pwm.doublecurrpwm[i];
if(s_recv.global_brightness==0)
{
s_pwm.currvalue[i]=0;
}
else
{
s_pwm.currvalue[i] = (PWM_MAX_VALUE - s_pwm.currpwm[i]) * 100 * 100 / PWM_MAX_VALUE / s_recv.global_brightness;
}
if ( s_pwm.wanttopwm[i] < s_pwm.currpwm[i])
{
s_pwm.currpwm[i] = s_pwm.wanttopwm[i];
}
}
//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4>ڵ<EFBFBD>ǰֵʱ
if (s_pwm.wanttopwm[i] < s_pwm.currpwm[i])
{
//s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i];
s_pwm.doublecurrpwm[i] -= s_pwm.every_change_10ms[i];
s_pwm.currpwm[i] = (u16)s_pwm.doublecurrpwm[i];
if(s_recv.global_brightness==0)
{
s_pwm.currvalue[i]=0;
}
else
{
s_pwm.currvalue[i] = (PWM_MAX_VALUE - s_pwm.currpwm[i]) * 100 * 100 / PWM_MAX_VALUE / s_recv.global_brightness;
}
if (s_pwm.currpwm[i] < s_pwm.wanttopwm[i] + s_pwm.every_change_10ms[i])
{
s_pwm.currpwm[i] = 0;
s_pwm.currpwm[i] = s_pwm.wanttopwm[i];
}
}
if (s_pwm.wanttopwm[i] == s_pwm.currpwm[i])
{
s_pwm.currvalue[i] = s_recv.B_Ch[i];
s_recv.flag1[i] = 0;
}
}
}
}
}
void deal_command2(void)
{
int i=0;
static u32 systick_command2 = 0;
if (systick_1ms - systick_command2 >= 10)
{
systick_command2 = systick_1ms;
for (i = 0; i < 12; i++)
{
if (s_recv.flag2[i])
{
switch (s_recv.mode[i])
{
//<2F><><EFBFBD><EFBFBD>ֹͣģʽ
case 0x00:
//<2F><><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD>
if (s_recv.forward[i] == 0x00)
{
s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_min * PWM_MAX_VALUE * s_recv.global_brightness / 100 / 100 * s_recv.key_status[i];
s_pwm.currpwm[i] += s_recv.pwm_step[i];
if(s_recv.global_brightness==0)
{
s_pwm.currvalue[i]=0;
}
else
{
s_pwm.currvalue[i] = (PWM_MAX_VALUE - s_pwm.currpwm[i]) * 100 * 100 / PWM_MAX_VALUE / s_recv.global_brightness;
}
if (s_pwm.currpwm[i] >= s_pwm.wanttopwm[i])
{
s_recv.flag2[i] = 0;
s_pwm.currpwm[i] = s_pwm.wanttopwm[i];
s_pwm.currvalue[i] = s_recv.B_min; //<2F><><EFBFBD>ڻظ<DABB><D8B8><EFBFBD><EFBFBD><EFBFBD>
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (s_recv.forward[i] == 0x01)
{
s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_max * PWM_MAX_VALUE * s_recv.global_brightness / 100 / 100 * s_recv.key_status[i];
if (s_pwm.currpwm[i] <= s_pwm.wanttopwm[i] + s_recv.pwm_step[i])
{
s_recv.flag2[i] = 0;
s_pwm.currpwm[i] = s_pwm.wanttopwm[i];
s_pwm.currvalue[i] = s_recv.B_max;
}
else
{
s_pwm.currpwm[i] -= s_recv.pwm_step[i];
if(s_recv.global_brightness==0)
{
s_pwm.currvalue[i]=0;
}
else
{
s_pwm.currvalue[i] = (PWM_MAX_VALUE - s_pwm.currpwm[i]) * 100 * 100 / PWM_MAX_VALUE / s_recv.global_brightness;
}
}
}
break;
//˫<><CBAB>ѭ<EFBFBD><D1AD>ģʽ
case 0x01:
//<2F>ݼ<EFBFBD>
if (s_recv.forward[i] == 0x00)
{
s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_min * PWM_MAX_VALUE * s_recv.global_brightness / 100 / 100 * s_recv.key_status[i];
s_pwm.currpwm[i] += s_recv.pwm_step[i];
if(s_recv.global_brightness==0)
{
s_pwm.currvalue[i]=0;
}
else
{
s_pwm.currvalue[i] = (PWM_MAX_VALUE - s_pwm.currpwm[i]) * 100 * 100 / PWM_MAX_VALUE / s_recv.global_brightness;
}
if (s_pwm.currpwm[i] >= s_pwm.wanttopwm[i])
{
s_recv.forward[i] = 0x01;
s_pwm.currpwm[i] = s_pwm.wanttopwm[i];
s_pwm.currvalue[i] = s_recv.B_min; //<2F><><EFBFBD>ڻظ<DABB><D8B8><EFBFBD><EFBFBD><EFBFBD>
}
}
//<2F><><EFBFBD><EFBFBD>
if (s_recv.forward[i] == 0x01)
{
s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_max * PWM_MAX_VALUE * s_recv.global_brightness / 100 / 100 * s_recv.key_status[i];
if (s_pwm.currpwm[i] <= s_pwm.wanttopwm[i] + s_recv.pwm_step[i])
{
s_recv.forward[i] = 0x00;
s_pwm.currpwm[i] = s_pwm.wanttopwm[i];
s_pwm.currvalue[i] = s_recv.B_max;
}
else
{
s_pwm.currpwm[i] -= s_recv.pwm_step[i];
if(s_recv.global_brightness==0)
{
s_pwm.currvalue[i]=0;
}
else
{
s_pwm.currvalue[i] = (PWM_MAX_VALUE - s_pwm.currpwm[i]) * 100 * 100 / PWM_MAX_VALUE / s_recv.global_brightness;
}
}
}
break;
case 0x02:
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
s_recv.flag2[i] = 0;
break;
}
}
}
}
}
//ֱ<>ӹص<D3B9><D8B5><EFBFBD>,<2C><><EFBFBD><EFBFBD>¼״̬
void Close_Light(u8 i)
{
s_pwm.currpwm[i]=20001ul; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD>
}
//<2F>򿪵<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Open_Light(u8 pin)
{
s_pwm.currpwm[pin] = PWM_MAX_VALUE - s_pwm.currvalue[pin] * PWM_MAX_VALUE * s_recv.global_brightness / 100 / 100;
}
void PWM_write(u8 i, u16 Val)
{
switch (i)
{
case 0:
PWM15Duty(PWM07,Val);
break;
case 1:
PWM15Duty(PWM06,Val);
break;
case 2:
PWM15Duty(PWM05,Val);
break;
case 3:
PWM15Duty(PWM04,Val);
break;
case 4:
PWM15Duty(PWM03,Val);
break;
case 5:
PWM15Duty(PWM02,Val);
break;
case 6:
PWM15Duty(PWM01,Val);
break;
case 7:
PWM15Duty(PWM00,Val);
break;
case 8:
PWM15Duty(PWM23,Val);
break;
case 9:
PWM15Duty(PWM22,Val);
break;
case 10:
PWM15Duty(PWM21,Val);
break;
case 11:
PWM15Duty(PWM20,Val);
break;
}
}
void show_light(void)
{
int i;
for (i = 0; i < 12; i++)
{
if(s_pwm.currpwm[i]==20000ul)
{
Close_Light(i);
}
else
{
PWM_write(i, s_pwm.currpwm[i]);
}
}
}
//void checkpwm(void)
//{
// int i;
// for (i = 0; i < 12; i++)
// {
// if ((s_recv.flag1[i] == 0) && (s_recv.flag2[i] == 0) && (s_recv.changeflag == 1))
// {
// if (s_pwm.wanttopwmflash[i] != s_pwm.currpwm[i])
// {
// s_pwm.currpwm[i] = s_pwm.wanttopwmflash[i];
// }
// }
// }
// s_recv.changeflag = 0;
//}