📄 usbhal.c
字号:
/****************************************Copyright (c)**************************************************** Guangzhou ZHIYUAN electronics Co.,LTD.** ** http://www.zyinside.com****--------------File Info-------------------------------------------------------------------------------** File Name: USBHAL.c** Last modified Date: 2006.01.09** Last Version: V1.0 ** Description: USBHAL.c, 硬件抽象层,设置 USB 设备的运行条件** USBHAL.c, Hardware abstract layer, configure the running condition of USB device**------------------------------------------------------------------------------------------------------** Created By: MingYuan Zheng 郑明远** Created date: 2006.01.09** Version: V1.0** Descriptions: The original version 初始版本****------------------------------------------------------------------------------------------------------** Modified by:** Modified date:** Version:** Description:**********************************************************************************************************/
#include "config.h"
/*******************************************************************************************************************
** 函数名称: ChangeUPLLValue Name: ChangeUPLLValue
** 功能描述: 配置 USB 设备控制器的时钟 Function: Config the clock of USB device controller
********************************************************************************************************************/
void ChangeUPLLValue(int mdiv,int pdiv,int sdiv)
{
UPLLCON = (mdiv << 12) | (pdiv << 4) | sdiv;
}
/*******************************************************************************************************************
** 函数名称: USB_InitHareware Name: USB_InitHareware
** 功能描述: 初始化 USB 设备控制器硬件 Function: Initialize the hardware of USB device controller
********************************************************************************************************************/
void USB_InitHareware(void)
{
CLKCON |= CLKCON_USBD;
/* UCLK = 48MHz */
ChangeUPLLValue(40, 1, 2); /* 配置USB Device 时钟为48MHz */
/* Enable USB Device */
MISCCR = MISCCR & (~(1 << 3)); /* 使能USB Device口,禁止USB Host 1口 */
MISCCR = MISCCR & (~(1 << 13)); /* 使能USB Port1 为标准模式 */
/* Initialize reconnect Pin */
USB_INIT_RECONNECT_PIN(); /* 初始化重新连接引脚 */
}
/*******************************************************************************************************************
** 函数名称: USB_Reconnect Name : USB_Reconnect
** 功能描述: 重新连接 USB 总线 Function: reconnect USB bus
********************************************************************************************************************/
void USB_Reconnect(void)
{
INT32U clk_cnt;
USB_DISCONNCET(); /* 断开USB disconnect USB bus */
for (clk_cnt = 0; clk_cnt<= 0xAFFFF; clk_cnt++); /* 延时 delay */
USB_CONNECT(); /* 连接USB总线 connect USB bus */
}
/*******************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -