xspwmdrv.c
来自「usb 检验程序」· C语言 代码 · 共 36 行
C
36 行
#include "XsPwmDrv.h"
#include "XsClkMgrDrv.h"
#include "XsGpioDrv.h"
void XsPwmDrv_Init(volatile PwmCtrlRegsT* pPwm, PwmDeviceE Device)
{
//set control register initial value
PWM_CTRL(Device) = 36; //use (3.6864MHz/36=0.1024MHz) clock
PWM_PERVAL(Device) = 1023; //period is 10ms
PWM_DUTY(Device) = 0; //initial duty set to 0, PWM output is low
if(Device == PWM0)
{
//set gpio pin direction and alt function
ASSIGN_BIT_VAL(GPIO_GPDR0_ADDR, GXXR_GPIO16_OFS, XS_GPIO_DIR_OUT); // PWM0/GP16 pin as output
GPIO_SET_ALT_FUNC(GPIO_GROUP1, GAFR_AF16_OFS, XS_GPIO_ALT_FUNC_2); // PWM0/GP16
//enable LCD clock
CLKMGR_ENABLE_CLK(CKEN_CK_PWM0_OFS);
}
else if(Device == PWM1)
{
//set gpio pin direction and alt function
ASSIGN_BIT_VAL(GPIO_GPDR0_ADDR, GXXR_GPIO17_OFS, XS_GPIO_DIR_OUT); // PWM1/GP17 pin as output
GPIO_SET_ALT_FUNC(GPIO_GROUP1, GAFR_AF17_OFS, XS_GPIO_ALT_FUNC_2); // PWM1/GP17
//enable LCD clock
CLKMGR_ENABLE_CLK(CKEN_CK_PWM1_OFS);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?