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

📄 cat5112.c

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 C
字号:
/****************************************************************
**                                                              *
**  FILE         : cat5112.c                                    *
**                                                              *
**  By : Cyb 2007.07.01                                         *
****************************************************************/
#define CAT5112_GLOBALS

#include "includes.h"
#include "Hardware.h"
#include "watchdog.h"
#include "cat5112.h"
#include "uart_drv.h"

#define  CAT5112_DEBUG      0
static INT8U MachValume;

static void Delay(INT8U nums)
{
     INT8U i;
     
     for(i = 0;i<nums;i++)
     {
         __asm
         {
           NOP
         }
     }
}

static void SetUp_Cat5112(void)
{
     INT8U i;
     ClearWatchdog();
//   选定CAT5112,并设递增方式     
     CLEAR_PIN_CAT_CS();
     Delay(2);
     SET_PIN_CAT_UD();
     Delay(2);
//   改变计数器值     
     for(i=0;i<VOLUME_STEP;i++)
     {
        SET_PIN_CAT_INC();
        Delay(3);
        CLEAR_PIN_CAT_INC();
        Delay(5); 
     }
   
     SET_PIN_CAT_INC();
     Delay(15);
     SET_PIN_CAT_CS();
     Delay(10);

}

static void SetDown_Cat5112(void)
{ 
     INT8U i;
     ClearWatchdog();
//   选定CAT5112,并设递减方式     
     CLEAR_PIN_CAT_CS();
     Delay(2);
     CLEAR_PIN_CAT_UD();
     Delay(2);
//   改变计数器值     
     for(i=0;i<VOLUME_STEP;i++)
     {
        SET_PIN_CAT_INC();
        Delay(3);
        CLEAR_PIN_CAT_INC();
        Delay(5); 
     }
   
     SET_PIN_CAT_INC();
     Delay(15);
     SET_PIN_CAT_CS();
     Delay(10);

}

void  TurnUpVolumeStepbyStep(void)
{
     SetUp_Cat5112();
}

void  TurnDownVolumeStepbyStep(void)
{
     SetDown_Cat5112();
}

void TurnVolumeToCertainValue(INT8U value)
{
    INT8U i;
    
    if(value == MachValume)
    {
        return;
    }
    
    if(value > MachValume)
    {
        for(i=0;i<(value - MachValume);i++)
        {
            SetUp_Cat5112();
        }
    }
    else
    {
        for(i=0;i<( MachValume - value);i++)
        {
            SetDown_Cat5112();
        }
    }
}

void SetMachineVolume(INT8U value)
{
      MachValume = value;
#if CAT5112_DEBUG >0
      PrintFromUART( DEBUG_UARTNo_DISPLAYTASK, "\nMachValume=");
      SendFromUART_HEX(DEBUG_UARTNo_DISPLAYTASK, MachValume);
#endif   
}

INT8U GetMachineVolume(void)
{
     return MachValume;
}

⌨️ 快捷键说明

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