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

📄 sys.c

📁 DSP开发可以用来看外设情况的程序
💻 C
字号:

/****************************************************************************************/
//
// Filename:  	sys.c
// Function:	Config system global parameters and functions
//
/****************************************************************************************/

#include <csl.h>
#include <csl_irq.h>
#include "sysreg.h"
#include "type.h"

/*****************************常量和数据缓冲区的定义***********************************/		
unsigned int timeout=0x400;
int datastart;     
int comwebuf;     
int comrdbuf;      
int fifowebuf;     
int fifordbuf;	  
int fifolong;      
int fifochannel;  


/* 打开系统的串口中断 */
extern void SysInt_Enable(void)
 { 
	IRQ_globalDisable();
    IRQ_enable (IRQ_EVT_INT2);
	IRQ_globalEnable();
 }

/* 读系统寄存器 */
extern unsigned int sysreg_read(unsigned long int port)
{
 	unsigned int RegValue;
 	RegValue = (*(unsigned int *)(port));
 	return(RegValue);
}

/************************************************************************/
/*		USB命令接口写的过程												*/
/***1、命令接口的地址为0x4,仅用来写寄存器与Endpoint0 					*/
/***2、数据线的Bit7:为1时为地址操作									*/
/***				 为0时为数据操作									*/
/***3、数据线的Bit6:为1时为读操作										*/
/***				 为0时为写操作										*/
/***4、数据线的Bit[5:0]:为寄存器的地址与数据锁存,其中数据只占低四位	*/
/***5、写操作:															*/
/****	1)写操作时必需保证在FIFOADR[2:0]上为0x4,并且Ready线为高电平	*/
/***	2)向0x4写入要操作寄存器的地址									*/
/****	3)等待Ready线为高电平,写入要操作寄存器数据的高4位				*/
/***	4)等待Ready线为高电平,写入要操作寄存器数据的低4位				*/
/************************************************************************/

extern void USB_Command_Write(unsigned int regdata)
{
    
   	(*(unsigned int *)(usbcommand)) = regdata;
   
}

/************************************************************/
/*	USB命令接口读 										 	*/
/************************************************************/
extern unsigned int USB_Command_Read(void)
{
	int RegValue;
	RegValue = (*(unsigned int *)(usbcommand));
	return(RegValue);
}

/************************************************************/
/*	写USB的FIFO数据缓冲区									*/
/************************************************************/
extern BOOL SX2_FifoWriteSingle(long int channel, int value )
{
 	switch(channel)
 		{
 	     case 0:
 	     		{
 	     			(*(unsigned int *)(usbfifo2)) = value;
 	     		    return(True);
 	     		}
 	     case 1:
 	     		{
 	     			(*(unsigned int *)(usbfifo4)) = value;
 	     			return(True);
 	     		}
 	     case 2:
 	      		{
 	      			(*(unsigned int *)(usbfifo6)) = value;
 	      			return(True);
 	      		}
 	     case 3:
 	     		{
 	     			(*(unsigned int *)(usbfifo8)) = value;
 	     			return(True);
 	     		}
 	     default: return(False);
 		}
}

/************************************************************/
/*	读USB的FIFO数据缓冲区									*/
/************************************************************/
extern unsigned int SX2_FifoReadSingle(long int channel)
{
    unsigned int RegValue;
 	switch(channel)
 		{
 	     case 0:
 	     		{
 	     			RegValue = (*(unsigned int *)(usbfifo2));
 	     			return(RegValue);	 
 	     		}
 	     case 1:
 	     		{
 	     			RegValue = (*(unsigned int *)(usbfifo4));
 	     			return(RegValue);
 	     		}
 	     case 2:
 	      		{
 	      			RegValue = (*(unsigned int *)(usbfifo6));
 	      			return(RegValue);
 	      		}
 	     case 3:
 	     		{
 	     			RegValue = (*(unsigned int *)(usbfifo8));
 	     			return(RegValue);
 	     		}
 	     default: return(False);
 		}
}

/******************************************************************************/
/* No 	more																  */
/******************************************************************************/

⌨️ 快捷键说明

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