📄 d12hal.c
字号:
/******************************************************************************************************
** 文 件 名: D12HAL.c
** 描 述: USB驱动程序软件包: PDIUSBD12 设备端驱动程序 设备控制驱动层
***********************************************************************************************************/
#include "config.h"
#include "D12Config.h"
/************************************************************
** 函数名称: void Init_D12Port(void)
** 功能描述: 初始化D12与LPC2200的连接端口
** 输 入: 无
** 输 出: 无
************************************************************/
void Init_D12Port(void)
{
USBRST_GPIO(); //使能USBRST为通用IO口
SUSP_GPIO(); //使能SUSP为通用IO口
USBRST_OUT(); //USBRST为输出IO口?
SUSP_OUT(); //SUSP为输出IO口
INIT_INTD12(); //INT_USB为中断输入口
}
/************************************************************
** 函数名称: void Rst_D12(void)
** 功能描述: 复位D12
** 输 入: 无
** 输 出: 无
************************************************************/
void Rst_D12(void)
{
INT32U i;
CLR_USBRST(); //USBRST置0
for(i = 0;i < 0x2ffff; i++); //软件延时
SET_USBRST(); //USBRST置1
for(i = 0;i < 0xfff; i++); //软件延时
CLR_SUSP(); //SUSP置0
}
/************************************************************
** 函数名称: void bus_delay(void)
** 功能描述: 总线延时
** 输 入: 无
** 输 出: 无
************************************************************/
void bus_delay(void)
{
INT8U i;
i = D12_NOP; //对总线进行操作
}
/************************************************************
** 函数名称: void outportc(INT8U Data)
** 功能描述: 输出命令
** 输 入: INT8U Data: 命令字节
** 输 出: 无
************************************************************/
void outportc(INT8U Data)
{
bus_delay(); //总线延时
D12_COM = Data; //发送命令
}
/************************************************************
** 函数名称: void outportd(INT8U Data)
** 功能描述: 输出数据
** 输 入: INT8U Data: 数据字节
** 输 出: 无
*************************************************************/
void outportd(INT8U Data)
{
bus_delay(); //总线延时
D12_DAT = Data; //发送数据
}
/************************************************************
** 函数名称: INT8U inportd(void)
** 功能描述: 读入数据
** 输 入: 无
** 输 出: 读到的数据
*************************************************************/
INT8U inportd(void)
{
bus_delay(); //总线延时
return D12_DAT; //读取数据
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -