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

📄 hal4sys.h

📁 该软件源程序示范了如何在嵌入式系统中实现USB-OTG协议
💻 H
字号:
/*
   //*************************************************************************
   //
   //                  P H I L I P S   P R O P R I E T A R Y
   //
   //           COPYRIGHT (c)   2003 BY PHILIPS SINGAPORE.
   //                     --  ALL RIGHTS RESERVED  --
   //
   // File Name:        HAL4Sys.H
    // Revision:         1.1
   //
   //*************************************************************************
   //
   //*************************************************************************
*/


#ifndef __EVAHAL_H__
#define __EVAHAL_H__

#include "BasicTyp.h"



#define D09_INOUT_PORT	    (D09PCKIT_PORTBASE + 2)
#define D09_SYSCTRL_PORT    (D09PCKIT_PORTBASE + 0)
#define D09_INPUT_PORT    (D09PCKIT_PORTBASE + 1)



#define SCP_TXD   0x80



#define SCP_ADR   0x01 //d0cccccccccccccccccccccccccccccccccccccccccccccccc
#define SCP_SCL   0x02 //d1
#define SCP_SPIEN   0x04  //d2
#define SCP_SUSPEND   0x08 //d3
#define SCP_SERVICE   0x10 //d4
#define SCP_SPEED   0x10 //d4
#define SCP_RST   0x20 //d5

#define SCP_OEN  0x80 //d7

#define SCP_SDA   0x01 // strobe

#define SCP_INTEN   0x80 //busy






#define SCP_START   0x40
#define SCP_WREN    0x20
#define SPI                 0
#define I2C                 1
#define PIN                 0
#define REG                 1
#define FULL                0
#define LOW                 1
#define ACTIVE              0
#define SUSPEND             1

#define USB_VPVM_U          0
#define USB_VPVM_B          0
#define USB_DAT_SE0_U       1
#define USB_DAT_SE0_B       1
#define UART               2
#define TGPB0               3
#define TGPB1               4
#define TGPB2               5
#define TGPB3               6

#define Audio_Stereo        7
#define Audio_Data          8



typedef union _D09FLAGS {
	struct _D09FSM_FLAGS
	{

// Byte 0
		IRQL_1 UCHAR    bus_state           : 1;
       	IRQL_1 UCHAR    service_state       : 1;
	    IRQL_1 UCHAR    low_full_state		: 1;
	    IRQL_1 UCHAR    suspend_state	    : 1;
		IRQL_0 UCHAR    mode_state	    	: 4;

	    IRQL_1 UCHAR    adr_state		    : 1;
	    IRQL_1 UCHAR    OE_state		    : 1;
	    IRQL_1 UCHAR    charge_state		    : 1;
	   // IRQL_1 UCHAR    nc_state		    : 7;
	} bits;

	USHORT value;

} D09FLAGS;
void get_addresses(void);
void Hal4Sys_End_Int(void);
void Hal4Sys_ResetPCBA(void);
void Hal4Sys_Initial_uP(void);


void Hal4Sys_Release_uP(void);
void Hal4Sys_AcquireTimer0(void);
void Hal4Sys_ReleaseTimer0(void);
void interrupt Hal4Sys_Isr4Timer(void);


void Hal4Sys_WaitinUS(	IN OUT ULONG time);
void Hal4Sys_WaitinMS( IN OUT ULONG time);

UCHAR Hal4Sys_Read(UCHAR address);
void Hal4Sys_Write(UCHAR data, UCHAR address);
void Hal4Sys_ControlD09Interrupt( BOOLEAN InterruptEN);

void Hal4Sys_SetSPI_Mode(void);

void Hal4Sys_SetI2C_Mode(void);

void Hal4Sys_Suspend_High(void);

void Hal4Sys_Suspend_Low(void);

void Hal4Sys_Speed_Full(void);

void Hal4Sys_Speed_Low(void);

UCHAR Hal4Sys_Get_Iset(void);


UCHAR Hal4Sys_Get_Rxd(UCHAR TXD);
UCHAR Hal4Sys_Get_Int(void);


void Hal4Sys_AcquireD09(void);


void Hal4Sys_ReleaseD09(void);

void CLK_SCL_H(void);

void CLK_SCL_L(void);


void MOSI_SDA_H(void);

void MOSI_SDA_L(void);

void Hal4Sys_i2c_start(void);

UCHAR Hal4Sys_i2c_get_address(void);

void Hal4Sys_i2c_send_data(UCHAR data);

void Hal4Sys_i2c_ack(void);


void Hal4Sys_i2c_noack(void);


void Hal4Sys_i2c_stop(void);

UCHAR Hal4Sys_i2c_get_data(void);

void Hal4Sys_SPI_start(void);

void Hal4Sys_SPI_stop(void);
void Hal4Sys_Set_pule(void);
void Hal4Sys_Service_High(void);
void Hal4Sys_Service_Low(void);
void Hal4Sys_OE_High(void);
void Hal4Sys_OE_Low(void);
void Hal4Sys_SPI_address(UCHAR data);

void Hal4Sys_SPI_null(void);

void Hal4Sys_SPI_senddata(UCHAR data);

UCHAR Hal4Sys_SPI_getdata(void);

UCHAR Hal4Sys_PowerDet(void);
#endif

⌨️ 快捷键说明

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