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

📄 usbhal.c

📁 周立功magic2410实验箱源码 第6章Linux高级实验(part1) 6.1 Linux内核编译实验 6.2 Linux根文件系统实验 6.3 CAT1025读/写实验. 6.4 ZL
💻 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 + -