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

📄 main.c

📁 凌阳SPCE3200 系统开发板随机自带源程序。共安排了32个子目录
💻 C
字号:
//======================================================================
//	工程名称:	USB
//	功能描述:	以USB数据传输方式在PC端访问板上SD卡
//  IDE环境:   SUNPLUS S+core IDE 2.2.0(or later)
//	涉及的库:	USBD_Common_V0.1.a, USBD_MSDC_SDCard_V0.1.a, USBD_MSDC_V0.1.a
//	组成文件:	main.c, Sys_IRQ.c, User_IRQ.c, SDCardDriver.c
//				USBD_Descriptor.c, USBD_SCSI_Read_Write.c, 
//	硬件连接:	实验板的USB接口与PC相连,SD卡座中插入SD卡
//	维护记录:	2007-01-16	v1.0
//======================================================================

//=============================================================
// 文件名称:	main.c
// 功能描述:	以USB数据传输方式在PC端访问板上SD卡
// 维护记录:	2007-01-16	v1.0
//=============================================================

#include "SPCE3200_Register.h"
#include "SPCE3200_Constant.h"
#include ".\SDCard\SDCardDriver.h"
#include ".\USB_Device\USB_Device.h"

int main(void);
void InitSPCE3200(void);
void USBD_Check_Disk(void);

//======================================//
// 语法格式:	void InitSPCE3200(void)
// 实现功能:	初始化SPCE3200内部模块
// 参数:		无
// 返回值:		无
//======================================//
void InitSPCE3200(void)
{
	*P_INT_MASK_CTRL1 = ~0x00040080;						// 开启USB中断和Timer中断

	*P_CLK_PLLAU_CONF |= C_PLLU_CLK_EN;						// 使能USB PLL
	*P_USB_CLK_CONF = 0x00000005;							// 使能USB Device
	*P_CLK_32K_CONF	= C_32K_CRY_EN;							// 开启32768Hz时钟

	*P_SD_CLK_CONF = C_SD_CLK_EN|C_SD_RST_DIS;				// 使能SD控制器时钟
 	*P_SD_INTERFACE_SEL = C_SD_PORT_SEL;					// 使能SD端口
	
	*P_TIMER0_CLK_CONF = C_TIMER_CLK_EN|C_TIMER_RST_DIS;	// 使能Timer0时钟
	*P_TIMER_CLK_SEL = C_TIMER0_CLK_32K;					// 计数频率32768Hz
	*P_TIMER0_PRELOAD_DATA = 65536-32768/10;				// 10Hz定时
	*P_TIMER0_MODE_CTRL = C_TIMER_CTRL_EN|C_TIMER_INT_EN|C_TIMER_INT_FLAG;
															// 开启Timer0并采用中断模式
}

//=============================================================
// 语法格式:	int main(void);
// 实现功能:	C程序代码的主函数,提供程序代码的入口点,其内部实现了
//           	实时USB设备服务程序
// 参数:		无
// 返回值:		无
//=============================================================
int main(void)
{
	
	InitSPCE3200();											// 初始化硬件端口
	
	gSDCardInsert=1;										// 初始化变量
	gSDCardPresent=0;
	gSDCardWriteProtect=0;
	SDCardTotalSector=0;
	
	R_USBD_UnPlug = 1;			
	
	R_USBD_Disk0 = gSDCardPresent;
	R_USBD_Disk0_Size = SDCardTotalSector;
	R_USBD_Disk0_Media_Change = 0x00;
	R_USBD_Disk0_WP = 0x00;
	
	while(1)
	{
		if(R_USBD_UnPlug == 0)
		{
			USBDevice_ServiceLoop();						// 调用USB driver API
		}
	}	
	
	return 0;
}
//======================================//
// 语法格式:	void USBD_Check_Disk(void)
// 实现功能:	实现了USB Storage Disk侦测,并初始化磁盘的功能
// 参数:		无
// 返回值:		无
//======================================//
void USBD_Check_Disk(void)
{
	int ret;
	if(gSDCardInsert && (gSDCardPresent == 0))
	{
		ret=SDDrv_Initial();
		if(ret == 0x00)
			R_USBD_Disk0_Media_Change = 1;
	}
}

⌨️ 快捷键说明

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