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

📄 function.c

📁 该软件源程序示范了如何在嵌入式系统中实现USB-OTG协议
💻 C
字号:
/*
   //*************************************************************************
   //
   //                  P H I L I P S   P R O P R I E T A R Y
   //
   //           COPYRIGHT (c)   2005 BY PHILIPS SINGAPORE.
   //                     --  ALL RIGHTS RESERVED  --
   //
   // Project:		ISP1302 Eva Kit
   // File Name:	Function.c
   // Author:		Guo Yang Bin, Email: guo.yang.bin@philips.com
   // Created:		Nov.20, 2005
   // Modified:
   // Revision:		1.0
   //*************************************************************************
*/

#include <stdio.h>
#include <dos.h>

#include "BasicTyp.h"
#include "hal4sys.h"
#include "function.h"
/*
//*************************************************************************
//  Public static data
//*************************************************************************
*/

extern bus_state;
/*
//*************************************************************************
//  Private static data
//*************************************************************************
*/
extern D09FLAGS bD09flags;
/*
//*************************************************************************
//  Subroutines
//*************************************************************************
*/
USHORT Hal4D09_Get_ChipID(void)
{
	USHORT id;
    id = Hal4Sys_Read(VID_H);
    id = (id<<8)|Hal4Sys_Read(VID_L);
	return id;
}
USHORT Hal4D09_Get_ProductID(void)
{
	USHORT id;
    id = Hal4Sys_Read(PID_H);
    id = (id<<8)|Hal4Sys_Read(PID_L);
	return id;
}

USHORT Hal4D09_Get_VersionID(void)
{
	USHORT id;
    id = Hal4Sys_Read(VER_ID_L);
    id = (id<<8)|Hal4Sys_Read(VER_ID_H);
	return id;
}
 
void Hal4D09_USB_LowSpeed(void)
{
    Hal4Sys_Write(SPEED_REG, CLR_MODE_CTRL1);
}


void Hal4D09_USB_FullSpeed(void)
{

    Hal4Sys_Write(SPEED_REG, SET_MODE_CTRL1);
}

void Hal4D09_USB_Suspend(void)
{

    Hal4Sys_Write(SUSPEND_REG, SET_MODE_CTRL1);
}

void Hal4D09_USB_Active(void)
{
    Hal4Sys_Write(SUSPEND_REG, CLR_MODE_CTRL1);
}


/*
void Hal4D09_SpeedSuspend_Pin(void)
{
  Hal4Sys_Write(SPD_SUSP_CTRL, CLR_MODE_CTRL2);
}

void Hal4D09_SpeedSuspend_Reg(void)
{
  Hal4Sys_Write(SPD_SUSP_CTRL, SET_MODE_CTRL2);
}*/
void Hal4D09_USB_VPVM_U(void)
{
   // Hal4Sys_Write(UART_EN|DAT_SE0, CLR_MODE_CTRL1);
   // Hal4Sys_Write(AUDIO_EN|BI_DI, CLR_MODE_CTRL2);
}

void Hal4D09_USB_VPVM_B(void)
{
    Hal4Sys_Write(TRANSP_EN|UART_EN|DAT_SE0, CLR_MODE_CTRL1);
    Hal4Sys_Write(AUDIO_EN, CLR_MODE_CTRL2);
  //  Hal4Sys_Write(BI_DI, SET_MODE_CTRL2);
}

void Hal4D09_USB_DAT_SE0_U(void)
{
   // Hal4Sys_Write(TRANSP_EN|UART_EN, CLR_MODE_CTRL1);
   // Hal4Sys_Write(DAT_SE0, SET_MODE_CTRL1);
   // Hal4Sys_Write(AUDIO_EN|BI_DI, CLR_MODE_CTRL2);
}

void Hal4D09_USB_DAT_SE0_B(void)
{
    Hal4Sys_Write(TRANSP_EN|UART_EN, CLR_MODE_CTRL1);
    Hal4Sys_Write(DAT_SE0, SET_MODE_CTRL1);
    Hal4Sys_Write(AUDIO_EN, CLR_MODE_CTRL2);
 //   Hal4Sys_Write(BI_DI, SET_MODE_CTRL2);
}


void Hal4D09_UART1(void)
{
    Hal4Sys_Write(UART_EN, SET_MODE_CTRL1);
}	

	
				
void Hal4D09_UART2(void)
{
    Hal4Sys_Write(0x0c, SET_MODE_CTRL1);
    Hal4Sys_Write(0x40, CLR_MODE_CTRL1);
    Hal4Sys_Write(0x20, CLR_MODE_CTRL2);
	if(bD09flags.bits.mode_state == TGPB0)
      Hal4Sys_Write(0x18, CLR_MODE_CTRL2);
	else if(bD09flags.bits.mode_state == TGPB1)
	{
      Hal4Sys_Write(0x10, CLR_MODE_CTRL2);
      Hal4Sys_Write(0x08, SET_MODE_CTRL2);
	}
	else if(bD09flags.bits.mode_state == TGPB2)
	{
      Hal4Sys_Write(0x08, CLR_MODE_CTRL2);
      Hal4Sys_Write(0x10, SET_MODE_CTRL2);
	}
	else if(bD09flags.bits.mode_state == TGPB3)
	{
      Hal4Sys_Write(0x18, SET_MODE_CTRL2);
	}
}	

					
void Hal4D09_Stereo(void)
{
  //  Hal4Sys_Write(UART_EN, CLR_MODE_CTRL1);
    Hal4Sys_Write(TRANSP_EN|UART_EN, CLR_MODE_CTRL1);
    Hal4Sys_Write(AUDIO_EN, SET_MODE_CTRL2);
    Hal4Sys_Write(0X30, 0X1A);

}	
					
void Hal4D09_Audio_Data(void)
{
    Hal4Sys_Write(TRANSP_EN|UART_EN, CLR_MODE_CTRL1);
    Hal4Sys_Write(AUDIO_EN, SET_MODE_CTRL2);
	Hal4Sys_Write(0X3F, 0X1A);
}


void Hal4D09_Enable_Chargepump(void)
{
    Hal4Sys_Write(0x20, 0X06);
}

void Hal4D09_Disable_Chargepump(void)
{
    Hal4Sys_Write(0x20, 0X07);
}

void Hal4D09_Initial_1109(void)	
{
    Hal4Sys_AcquireD09();
}	

⌨️ 快捷键说明

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