56 lines
2.4 KiB
C++
56 lines
2.4 KiB
C++
|
|
|||
|
/********************************** (C) COPYRIGHT *******************************
|
|||
|
* File Name : Main.C
|
|||
|
* Author : WCH
|
|||
|
* Version : V1.0
|
|||
|
* Date : 2017/01/20
|
|||
|
* Description : CH554 PWM<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>PWMĬ<EFBFBD>ϵ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
֧<EFBFBD><EFBFBD><EFBFBD>жϷ<EFBFBD>ʽ<EFBFBD><EFBFBD>PWMռ<EFBFBD>ձ<EFBFBD>
|
|||
|
*******************************************************************************/
|
|||
|
|
|||
|
#include "..\Public\CH554.H"
|
|||
|
#include "..\Public\Debug.H"
|
|||
|
#include "PWM.H"
|
|||
|
#include "stdio.h"
|
|||
|
|
|||
|
#pragma NOAREGS
|
|||
|
|
|||
|
main( )
|
|||
|
{
|
|||
|
CfgFsys( ); //CH554ʱ<34><CAB1>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
mDelaymS(5); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ӻ<D3BA><F3A3ACBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ȶ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
mInitSTDIO( ); //<2F><><EFBFBD><EFBFBD>0<EFBFBD><30>ʼ<EFBFBD><CABC>
|
|||
|
printf("start ...\n");
|
|||
|
|
|||
|
P1_MOD_OC &= ~(bPWM1 | bPWM2); //<2F><><EFBFBD><EFBFBD>PWM<57><4D><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P1_DIR_PU |= bPWM1 | bPWM2;
|
|||
|
|
|||
|
SetPWMClk(4); //PWMʱ<4D><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>4<EFBFBD><34>Ƶ
|
|||
|
ForceClearPWMFIFO( ); //ǿ<><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM FIFO<46><4F>COUNT
|
|||
|
CancleClearPWMFIFO( ); //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM FIFO<46><4F>COUNT
|
|||
|
PWM1OutEnable( ); //<2F><><EFBFBD><EFBFBD>PWM1<4D><31><EFBFBD><EFBFBD>
|
|||
|
PWM2OutEnable( ); //<2F><><EFBFBD><EFBFBD>PWM2<4D><32><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
PWM1OutPolarHighAct( ); //PWM1<4D><31><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵͣ<CFB5><CDA3><EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
PWM2OutPolarLowAct( ); //PWM2<4D><32><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϸߣ<CFB8><DFA3><EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
|
|||
|
#if PWM_INTERRUPT
|
|||
|
PWMInterruptEnable();
|
|||
|
EA = 1;
|
|||
|
SetPWM1Dat(0x10);
|
|||
|
SetPWM2Dat(0x40);
|
|||
|
while(1);
|
|||
|
#endif
|
|||
|
SetPWM1Dat(0x10); //ռ<>ձ<EFBFBD>0x10/256
|
|||
|
SetPWM2Dat(0x40);
|
|||
|
while(1){
|
|||
|
if(PWM_CTRL&bPWM_IF_END){
|
|||
|
PWM_CTRL |= bPWM_IF_END; //<2F><><EFBFBD><EFBFBD>PWM<57>ж<EFBFBD>
|
|||
|
SetPWM1Dat(0x10);
|
|||
|
SetPWM2Dat(0x40);
|
|||
|
#ifdef DE_PRINTF
|
|||
|
printf("PWM_CYC_END %02X\n",(UINT16)PWM_CTRL);
|
|||
|
#endif
|
|||
|
}
|
|||
|
}
|
|||
|
}
|