📄 main.c
字号:
/******************************************************************/
/*Copyright (C), 2008-2009, 力天电子,LiTian Tech.Co.Ltd. */
/* Module Name : XINTF */
/* File Name : main.c */
/* Author : 侯长波 */
/* Create Date : 2009/12/27 */
/* Version : 2.0 */
/* Function : 利用外部扩展接口读写外部SRAM */
/* Description : */
/* Support : www.LT430.com */
/******************************************************************/
/*****************头文件********************/
#include "DSP281x_Device.h"
#include "System.h"
/****************端口宏定义*****************/
/****************常量宏定义*****************/
/***************全局变量定义****************/
unsigned int Read_data[5]={0};
unsigned int Write_data[5]={6,2,3,4,5};
/****************函数声明*******************/
void Init_XINTF(void);
void Write_RAM(unsigned int Adr,unsigned int Data);
unsigned int Read_RAM(unsigned int Adr);
void Test_RAM(void);
/*------------------------------------------*/
/*形式参数:void */
/*返回值:void */
/*函数描述:主函数 */
/*------------------------------------------*/
void main(void)
{
unsigned char temp;
InitSysCtrl(); // 系统初始化子程序,在DSP28_sysctrl.c中
Init_XINTF();
Test_RAM();
Write_RAM(0x05,18);
temp=Read_RAM(0x05);
while(1);
}
/*------------------------------------------*/
/*形式参数:void */
/*返回值:void */
/*函数描述:初始化XINTF */
/*------------------------------------------*/
void Init_XINTF(void)
{
EALLOW;
XintfRegs.XTIMING6.bit.XWRLEAD=2; //写操作建立时间
XintfRegs.XTIMING6.bit.XRDLEAD=2; //读操作建立时间
XintfRegs.XTIMING6.bit.XWRACTIVE=3; //写操作有效时间
XintfRegs.XTIMING6.bit.XRDACTIVE=2; //读操作有效时间
XintfRegs.XTIMING6.bit.XRDTRAIL=2; //读操作保护时间
XintfRegs.XTIMING6.bit.XWRTRAIL=2; //写操作保护时间
EDIS;
}
/*------------------------------------------*/
/*形式参数:Adr--地址 Data--数据 */
/*返回值:void */
/*函数描述:向指定地址写入一个整型数据 */
/*------------------------------------------*/
void Write_RAM(unsigned int Adr,unsigned int Data)
{
unsigned int *pointer;
pointer = (unsigned int*)(0x100000 | Adr);
*pointer=Data;
}
/*------------------------------------------*/
/*形式参数:Adr--地址 */
/*返回值: Data--数据 */
/*函数描述:从指定地址读出一个整型数据 */
/*------------------------------------------*/
unsigned int Read_RAM(unsigned int Adr)
{
unsigned int *pointer;
pointer = (unsigned int*)(0x100000 | Adr);
return(*pointer);
}
/*------------------------------------------*/
/*形式参数:void */
/*返回值:void */
/*函数描述:通过读写测试RAM */
/*------------------------------------------*/
void Test_RAM(void)
{
unsigned int i,temp=0x1000,w_data=0,err=0,r_data;//数据地址
for(i=0;i<20000;i++)
{
Write_RAM(temp++,w_data++);
}
temp=0x1000;
w_data=0;
for(i=0;i<20000;i++)
{
r_data=Read_RAM(temp++);
if(r_data!=w_data)
err=err+1;
w_data++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -