⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xspwmdrv.h

📁 usb 检验程序
💻 H
字号:
#ifndef __XSPWM_DRV_H
#define __XSPWM_DRV_H

#include "XsPwmRegs.h"

//read/write period value
#define PWM_READ_PERVAL(chan)	\
		GET_FIELD(PWM_PERVAL_ADDR(chan), PWM_PERVAL_PV_OFS, PWM_PERVAL_PV_OFS)
#define PWM_WRITE_PERVAL(chan, val)\
		LOAD_FIELD(PWM_PERVAL_ADDR(chan), val, PWM_PERVAL_PV_OFS, PWM_PERVAL_PV_OFS)

//read/write duty cycle
#define PWM_READ_DUTY(chan)	\
		GET_FIELD(PWM_DUTY_ADDR(chan), PWM_DUTY_DCYCLE_OFS, PWM_DUTY_DCYCLE_SZ)		
#define PWM_WRITE_DUTY(chan, val) \
		LOAD_FIELD(PWM_DUTY_ADDR(chan), val, PWM_DUTY_DCYCLE_OFS, PWM_DUTY_DCYCLE_SZ)		

//set full duty cycle, no toggle
#define PWM_SET_DUTY_CLCLE_FULL(chan) \
		SET_BIT(PWM_DUTY_ADDR(chan), PWM_DUTY_FDCYCLE_OFS)
		
//read/write prescale value
#define PWM_READ_PRESCALE(chan)	\
		GET_FIELD(PWM_CTRL_ADDR(chan), PWM_CTRL_PRESCALE_OFS, PWM_CTRL_PRESCALE_SZ)
#define PWM_WRITE_PRESCALE(chan, val) \
		LOAD_FIELD(PWM_CTRL_ADDR(chan), val, PWM_CTRL_PRESCALE_OFS, PWM_CTRL_PRESCALE_SZ)

//set shut down mode, 1 for abrupt shutdown, 0 for gracefull shutdown
#define SHUTDOWN_GRACE		0
#define SHUTDOWN_ABRUPT		1

#define PWM_SET_SHUTDOWN(chan, val) \
		ASSIGN_BIT_VAL(PWM_CTRL_ADDR(chan), PWM_CTRL_SD_OFS, val)

void XsPwmDrv_Init(volatile PwmCtrlRegsT* pPwm, PwmDeviceE Device);
#define XsPwmDrv_InitPWM0()	\
	XsPwmDrv_Init((volatile PwmCtrlRegsT*)PWM0REG_PHY_BASE_ADDR, PWM0);
#define XsPwmDrv_InitPWM1()	\
	XsPwmDrv_Init((volatile PwmCtrlRegsT*)PWM1REG_PHY_BASE_ADDR, PWM1);

#endif //__XSPWM_DRV_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -