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

📄 pwmprevate.h

📁 philips arm7 lpc2103的常用功能的库函数第二部分
💻 H
字号:
/***********************************************Copyright (c)*********************************************
**                                Guangzou ZLG-MCU Development Co.,LTD.
**                                     
**                                       http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:			    PwmPrevate.h
** Last modified Date:      2007-11-13
** Last Version:		    1.0
** Descriptions:		    PWM私有头文件,只被PWM.c调用
**
**--------------------------------------------------------------------------------------------------------
** Created by:			    LiXiaoCheng
** Created date:		    2007-11-13
** Version:				    1.0
** Descriptions:		    初始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by:			    
** Modified Date:		    
** Version:				    
** Descriptions:		    
**
*********************************************************************************************************/
#ifndef __PWM_PREVATE_H
#define __PWM_PREVATE_H

/*********************************************************************************************************
   定义pwm设备结构体
*********************************************************************************************************/
struct __pwm_info {
    
    volatile uint32 *puiAddrBase;                                       /*  寄存器基地址                */
             uint32  uiOffBase;                                         /*  寄存器偏移量                */
             uint8   ucMode;                                            /*  PWM工作模式                 */
          
};

typedef struct __pwm_info   __PWM_INFO;                                 /*  定义类型                    */
typedef __PWM_INFO         *__PPWM_INFO;                                /*  定义指针                    */

/*********************************************************************************************************
   定义pwm参数传递结构体
*********************************************************************************************************/
struct __pwm_parm {
    uint32 uiMode;
    uint32 uiPeriod;
    uint32 uiEdg;
    uint32 uiActCtrl;
    uint32 uiOutCtrl;
    uint32 uiPwmUp;
    uint32 uiPwmDown;
};

typedef struct __pwm_parm   __PWM_PARM;                                 /*  定义类型                    */
typedef __PWM_PARM         *__PPWM_PARM;                                /*  定义指针                    */

/*********************************************************************************************************
   定义pwm设备数量
*********************************************************************************************************/
#define __PWM_MAX_NUM           1

/*********************************************************************************************************
   定义pwm输出通道数量
*********************************************************************************************************/
#define __PWM_MAX_CHANLE        6

/*********************************************************************************************************
   定义pwm寄存器偏移位置,该宏定义,移植需修改,但需注意偏移量的大小
*********************************************************************************************************/
#define __B_PWM_IR              0                                       /*  PWMIR                       */
#define __B_PWM_TCR             1                                       /*  PWMTCR                      */
#define __B_PWM_TC              2                                       /*  PWMTC                       */
#define __B_PWM_PR              3                                       /*  PWMPR                       */
#define __B_PWM_PC              4                                       /*  PWMPC                       */
#define __B_PWM_MCR             5                                       /*  PWMMCR                      */
#define __B_PWM_MR0             6                                       /*  PWMMR0                      */
#define __B_PWM_MR1             7                                       /*  PWMMR1                      */
#define __B_PWM_MR2             8                                       /*  PWMMR2                      */
#define __B_PWM_MR3             9                                       /*  PWMMR3                      */
#define __B_PWM_MR4             16                                      /*  PWMMR4                      */
#define __B_PWM_MR5             17                                      /*  PWMMR5                      */
#define __B_PWM_MR6             18                                      /*  PWMMR6                      */
#define __B_PWM_PCR             19                                      /*  PWMPCR                      */
#define __B_PWM_LER             20                                      /*  PWMLER                      */

/*********************************************************************************************************
   定义pwm工作模式为PWM模式还是定时器模式
*********************************************************************************************************/
#define __PWM_MODE_TIME         0                                       /*  PWM为定时器模式             */
#define __PWM_MODE_PWM          1                                       /*  PWM为PWM模式                */

#define __PWM_MODE_MAX          __PWM_MODE_PWM                          /*  定义PWM模式参数的最大值     */

/*********************************************************************************************************
   定义pwm是否输出到管脚
*********************************************************************************************************/
#define __PWM_OUTPIN_EN         0                                       /*  PWM信号输出到管脚           */
#define __PWM_OUTPIN_DIS        1                                       /*  PWM信号不输出到管脚         */

#define __PWM_OUTPIN_MAX        __PWM_OUTPIN_DIS                        /*  定义PWM管脚输出参数的最大值 */

/*********************************************************************************************************
   定义pwm是单边沿还是双边沿输出
*********************************************************************************************************/
#define __PWM_SIG_OUT           0                                       /*  PWM单边沿输出               */
#define __PWM_DUB_OUT           1                                       /*  PWM双边沿输出               */

#define __PWM_EDG_MAX           __PWM_DUB_OUT                           /*  定义PWM边沿输出参数最大值   */

/*********************************************************************************************************
   定义pwm匹配时响应的动作
*********************************************************************************************************/
#define __PWM_NONE              0                                       /*  通道匹配无动作              */
#define __PWM_INT               1                                       /*  通道匹配产生中断,定时器继续*/
#define __PWM_RESET             2                                       /*  通道匹配复位定时器          */
#define __PWM_INT_RESET         3                                       /*  通道匹配产生中断并复位      */
#define __PWM_STOP              4                                       /*  通道匹配停止定时器          */
#define __PWM_INT_STOP          5                                       /*  通道匹配产生中断并停止      */

#define __PWM_ACT_MAX           __PWM_INT_STOP                          /*  定义匹配响应操作最大值      */

/*********************************************************************************************************
   定义pwm匹配时响应的动作
*********************************************************************************************************/
#define __PWM_US                 (Fpclk/1000000)                        /*  定义微秒周期数              */

#define __PWM_TT_US_DECI         (Fpclk / 100 - (Fpclk / 1000000) * 10000)
                                                                        /*  定义10000US产生的小数周期   */
                                                                        
#define __PWM_T_US_DECI          (Fpclk / 1000 - (Fpclk / 1000000) * 1000)
                                                                        /*  定义1000US产生的小数周期    */
#define __PWM_H_US_DECI          (Fpclk / 10000 - (Fpclk / 1000000) * 100)
                                                                        /*  定义100US产生的小数周期     */
                                                                        

#endif                                                                  /*  __PWM_PREVATE_H             */
/*********************************************************************************************************
   END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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