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

📄 lh7a400_dcdc_driver.h

📁 sharp flash blob 的烧写代码
💻 H
字号:
/**********************************************************************
 *  $Workfile:   LH7A400_dcdc_driver.h  $
 *  $Revision:   1.1  $
 *  $Author:   FergisJ  $
 *  $Date:   Aug 02 2002 09:13:24  $
 *
 *  Project: LH7A400  EVB
 *
 * Description:
 *    Pulse Width Modulation (PWM) driver Header File for the LH7A400.
 *      (Direct Current to Direct Current Converter Interface)
 *
 *  The following functions are provided:
 *   pwm0_init(), pwm1_init(),
 *   pwm0_disable(), pwm1_disable(),
 *   pwm0_set_dutycycle(), pwm1_set_dutycycle(),
 *   pwm0_set_clock_prescaler(), pwm1_set_clock_prescaler(),
 *   pwm0_increase_dutycycle(), pwm1_increase_dutycycle()
 *   pwm0_decrease_dutycycle(), pwm1_decrease_dutycycle()
 *   pwm0_increase_clock_prescaler(), pwm1_increase_clock_prescaler()
 *   pwm0_decrease_clock_prescaler(), pwm1_decrease_clock_prescaler()
 *   pwm0_get_duty_cycle_value(), pwm1_get_duty_cycle_value()
 *   pwm0_get_clock_prescaler_value(), pwm1_get_clock_prescaler_value()
 *
 *   Call pwm(x)_init() to initially set both dutycycle and prescaler
 *    for all of the POWER_TYPE register fields.
 *
 * References:
 *   (1) LH7A400 User's Guide
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/CHIPS/archives/LH7A400/DCDC/Drivers/LH7A400_dcdc_driver.h-arc  $
 * 
 *    Rev 1.1   Aug 02 2002 09:13:24   FergisJ
 * Updated per C-Standard ... Modified some constant names for better understanding.
 *
 *    Rev 1.0   Jul 30 2002 08:41:16   FergisJ
 * Initial revision.
 *
 *
 *********************************************************************
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES,
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 *  COPYRIGHT (C) 2002 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *      CAMAS, WA
 *********************************************************************/

#ifndef LH7A400_PWM_DRIVER_H
#define LH7A400_PWM_DRIVER_H


/***********************************************************************
 * Public user header files (#include)
 **********************************************************************/
#include "LH7A400_dcdc.h"
#include "LH7A400_map.h"


/***********************************************************************
 * Constant definitions (#define)
 **********************************************************************/
// Fixed Output Duty-Cycles
#define PWM_OFF         0
#define MIN_DUTYCYCLE   1
#define ONE_EIGTH       2
#define ONE_FOURTH      4
#define THREE_EIGTHS    6
#define NOM_DUTYCYCLE   7
#define ONE_HALF        8
#define FIVE_EIGTHS    10
#define SIX_EIGTHS     12
#define SEVEN_EIGTHS   14
#define MAX_DUTYCYCLE  15

// Fixed Output Frequency choices
#define NINE_TWENTY_ONE_KHZ           0
#define FOUR_SIXTY_KHZ                1
#define TWO_THIRTY_KHZ                2
#define ONE_FIFTEEN_KHZ               3
#define FIFTY_SEVEN_POINT_SIX_KHZ     4
#define TWENTY_EIGHT_POINT_EIGHT_KHZ  5
#define FOURTEEN_POINT_FOUR_KHZ       6
#define SEVEN_POINT_TWO_KHZ           7

// LH7A400 power connection types .. access to specific fields
#define ALL_POWER_TYPES        0  // access to all register fields
#define EXTERN_POWER           1  // LOW register field access
#define BATTERY_POWER          2  // HIGH register field access
#define NUMBER_OF_POWER_TYPES  2  // for bounds checking

// MIN & MAX  Field Values
#define MIN_DUTYCYCLE_VALUE    0
#define MIN_PRESCALE_VALUE     0
#define MAX_DUTYCYCLE_VALUE   15
#define MAX_PRESCALE_VALUE     7


/***********************************************************************
 * Function prototypes of functions requiring global scope
 * not included elsewhere.
 **********************************************************************/

/*
 *   EXPORTED  FUNTIONS
 */

INT_8 LH7A400_pwm0_init
    (
    UNS_8 dutycycle_ext,  // duty-cycle for external-power field
    UNS_8 prescale_ext,   // clock-prescaler for external-power field
    UNS_8 dutycycle_bat,  // duty-cycle for battery-power field
    UNS_8 prescale_bat    // clock-prescaler for battery-power field
    );
INT_8 LH7A400_pwm1_init
    (
    UNS_8 dutycycle_ext,  // duty-cycle for external-power field
    UNS_8 prescale_ext,   // clock-prescaler for external-power field
    UNS_8 dutycycle_bat,  // duty-cycle for battery-power field
    UNS_8 prescale_bat    // clock-prescaler for battery-power field
    );
INT_8 LH7A400_pwm0_set_dutycycle
    (
    UNS_8 dutycycle,  // 0 or 1-15: OFF or n/16 duty-cycle
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm1_set_dutycycle
    (
    UNS_8 dutycycle,  // 0 or 1-15: OFF or n/16 duty-cycle
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm0_set_clock_prescaler
    (
    UNS_8 prescale,   // 0-7: clock / (16 * (2^n))  {clock-prescaler}
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm1_set_clock_prescaler
    (
    UNS_8 prescale,   // 0-7: clock / (16 * (2^n))  {clock-prescaler}
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm0_get_duty_cycle_value
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER
    );
INT_8 LH7A400_pwm1_get_duty_cycle_value
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER
    );
INT_8 LH7A400_pwm0_get_clock_prescaler_value
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER
    );
INT_8 LH7A400_pwm1_get_clock_prescaler_value
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER
    );
INT_8 LH7A400_pwm0_increase_duty_cycle
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm0_decrease_duty_cycle
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm1_increase_duty_cycle
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm1_decrease_duty_cycle
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm0_increase_clock_prescaler
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm0_decrease_clock_prescaler
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm1_increase_clock_prescaler
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
INT_8 LH7A400_pwm1_decrease_clock_prescaler
    (
    UNS_8 power       // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
    );
void LH7A400_pwm0_disable(void);
void LH7A400_pwm1_disable(void);


#endif // LH7A400_PWM_DRIVER_H

⌨️ 快捷键说明

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