📄 d13hal.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzhou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: D13HAL.c
** Last modified Date: 2004-12-10
** Last Version: V1.0
** Descriptions: USB驱动程序软件包: ISP1181B(D13) 设备端驱动程序----设备控制驱动层
** Soft Packet of USB Driver: the Driver of Device of ISP1181B(D13)
the Layer of Device Control Driver
**------------------------------------------------------------------------------------------------------
** Created by: Ming Yuan Zheng
** Created date: 2004-12-10
** Version: V1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "D13Config.h"
/************************************************************************************************************
** 函数名称: void Init_D13Port(void) Name: void Init_D13Port(void)
** 功能描述: 初始化D13与LPC2200的连接端口 Function: Initialize the connected ports between D13 and LPC2200
** 输 入: 无 Input: NULL
** 输 出: 无 Output: NULL
*************************************************************************************************************/
void Init_D13Port(void)
{
USBRST_GPIO(); //使能 RESET 为通用IO口 enable RESET is GPIO
SUSP_GPIO(); //使能 SUSPEND 为通用IO口 enable SUSPEND is GPIO
WKUP_GPIO();
USBRST_OUT(); //RESET 为输出IO口 configure RESET is output
SUSP_IN(); //SUSPEND 为输入IO口 configure SUSPEND is input
WKUP_OUT(); //WAKEUP 为输出IO口 configure WAKEUP is output
INIT_INTD13(); //INT 为中断输入口 configure INT is interrupt input
}
/*************************************************************************************************************
** 函数名称: void Rst_D13(void) Name: void Rst_D13(void)
** 功能描述: 复位D13 Function: Reset ISP1181B
** 输 入: 无 Input: NULL
** 输 出: 无 Output: NULL
**************************************************************************************************************/
void Rst_D13(void)
{
INT32U i;
CLR_USBRST(); //RESET 置0 clear RESET
for(i = 0;i < 0xffff; i++); //软件延时 software delay
SET_USBRST(); //RESET 置1 set RESET
CLR_WKUP(); //WAKEUP 置0 clear WAKEUP
}
/*************************************************************************************************************
** 函数名称: void bus_delay(void) Name: void Rst_D13(void)
** 功能描述: 总线延时 Function: bus delay
** 输 入: 无 Input: NULL
** 输 出: 无 Output: NULL
**************************************************************************************************************/
void delay(void)
{
int i = 1;
while(i != 0){i--;};
}
/*************************************************************************************************************
** 函数名称: void outportc(INT8U Data) Name: void outportc(INT8U Data)
** 功能描述: 输出命令 Function: output command
** 输 入: INT8U Data: 命令字节 Input: INT8U Data: command byte
** 输 出: 无 Output: NULL
**************************************************************************************************************/
void outportc(INT8U Data)
{
D13_COM = Data; //发送命令 send command
}
/************************************************************************************************************
** 函数名称: void outportd(INT8U Data) Name: void outportd(INT8U Data)
** 功能描述: 输出数据 Function: output data
** 输 入: INT8U Data: 数据字节 Input: INT8U Data: data byte
INT16U Data: 数据字 INT16U Data: data word
** 输 出: 无 Output: NULL
************************************************************************************************************/
#if D13_16BIT_EN
void outportd(INT16U Data)
{
D13_DAT = Data; //发送数据(16位) send data(16-bit)
}
#else
void outportd(INT8U Data)
{
delay();
D13_DAT = Data; //发送数据(8位) send data(8-bit)
}
#endif
/************************************************************************************************************
** 函数名称: INT8U inportd(void) Name: INT8U inportd(void)
** 功能描述: 读入数据 Function: read data
** 输 入: 无 Input: NULL
** 输 出: 读到的数据 Output: the data of read
*************************************************************************************************************/
#if D13_16BIT_EN
INT16U inportd(void)
{
return D13_DAT; //读取数据(16位) read data(16-bit)
}
#else
INT8U inportd(void)
{
delay();
return D13_DAT; //读取数据(8位) read data(8-bit)
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -