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

📄 dec5416.c

📁 DSP 5416 有限冲击响应滤波器( FIR )算法
💻 C
字号:
/*																				*/
/*  Copyright 2004 by SEED Electronic Technology LTD.                           */
/*  All rights reserved. SEED Electronic Technology LTD.                        */
/*  Restricted rights to use, duplicate or disclose this code are               */
/*  granted through contract.    											    */
/*                                           									*/
/*  Authors: david																*/
/*  Data: 2006/10/28															*/
/********************************************************************************/
#include "type.h"
#include "sysreg.h"
#include "codec.h"
#include "mcbsp54.h"

#define MCBSP0_SPSA     0x0038u
#define MCBSP0_SPSD     0x0039u
#define MCBSP1_SPSA     0x0048u
#define MCBSP1_SPSD     0x0049u

#define MCBSP2_SPSA     0x0034u
#define MCBSP2_SPSD     0x0035u

#define MCBSP_SPCR1_SUB_ADDR   0x0000u
#define MCBSP_SPCR2_SUB_ADDR   0x0001u
#define MCBSP_RCR1_SUB_ADDR 0x002
#define MCBSP_RCR2_SUB_ADDR 0x003
#define MCBSP_XCR1_SUB_ADDR 0x004
#define MCBSP_XCR2_SUB_ADDR 0x005
#define MCBSP_SRGR1_SUB_ADDR   0x0006u
#define MCBSP_SRGR2_SUB_ADDR   0x0007u
#define MCBSP_MCR1_SUB_ADDR    0x0008u
#define MCBSP_MCR2_SUB_ADDR    0x0009u
#define SRGR1_INIT             0x0001u
#define MCBSP_PCR_SUB_ADDR 0x00E


#define MCBSP_CLKGDV    0x20 /*同步串口时钟设置*/
#define MCBSP_CLK_SPI   0x1000 /*同步串口时钟模式设置*/

/******************************************************************************/
/* codec_open() - 获得CODEC对应的MCBSP的唯一的句柄,并设置其各寄存器默认值	  */
/*                                                                            */
/* 参数:                                                            		  */
/*     codec - 枚举变量CodecId中的一个元素,对应数据接口或是命令接口          */
/*                                                                            */
/* 返回值:  - 对应的有效句柄					                              */
/*                                                                            */
/******************************************************************************/
HANDLE codec_open(CodecId codec)						 
{
	/*判断是要打开哪个MCBSP*/
	if(codec == 0)
	{
		//unsigned int data;
	   /*打开的是数据接口,初始化McBSP0*/
	   /****************************************************************/
	   /* Place port in reset - setting XRST & RRST to 0               */
	   /****************************************************************/
	   /*进行发送复位*/
	   MCBSP_SUBREG_BITWRITE(codec, SPCR1_SUBADDR, RRST, RRST_SZ, 0);
	   /*进行接收复位*/
	   MCBSP_SUBREG_BITWRITE(codec, SPCR2_SUBADDR, XRST, XRST_SZ, 0);
	    
	   /****************************************************************/
	   /* Set values of all control registers                          */
	   /****************************************************************/
	   /*设置SPCR1寄存器*/
	   MCBSP_SUBREG_WRITE(codec, SPCR1_SUBADDR,0x4080);
	   //*(int *)MCBSP0_SPSA = MCBSP_SPCR1_SUB_ADDR;   
	   //data = *(int *)MCBSP0_SPSD;    
	   /*设置RCR1寄存器,单数据相,接受数据长度为16位,每相2个数据*/
	   MCBSP_SUBREG_WRITE(codec, RCR1_SUBADDR, 0x140);
	   //*(int *)MCBSP0_SPSA = MCBSP_RCR1_SUB_ADDR;   
	   //data = *(int *)MCBSP0_SPSD;
	   /*设置RCR2寄存器,单数据相

⌨️ 快捷键说明

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