📄 test.c
字号:
/********************************************************************************/
/* */
/* 描述: 复用解复用板(V2.0)控制器程序 */
/* VER: 2.0 */
/* REV: 1.0 */
/* 作者: 胡丙龙 */
/* 时间: 2002年05月31日 */
/* */
/********************************************************************************/
#pragma debug code small optimize(5) objectextend
#include "reg52.h"
#include "mdb.h"
#include "hpi.h"
#include "hdlc.h"
#include "constant.h"
#include "sab82525.h"
/* 函数声明 */
void TestSRAM(void);
void TestSAB82525(void);
/* 变量定义 */
uchar bdata m_ucTestFlag;
sbit m_bSRAMTestFlag = m_ucTestFlag^0; /* 定义RAM测试结果标志 */
sbit m_bSAB82525TestFlag = m_ucTestFlag^1; /* 定义SAB825255测试结果标志 */
/* 外部变量 */
extern uchar xdata *SAB82525; /* 定义SAB82525芯片译码地址 */
extern uchar xdata *SRAM; /* 定义外部数据RAM芯片译码地址 */ /*(基地址) */
/********************************************************************************/
/* 函数名称:void TestSRAM(void) */
/* 简要描述:测试片外SRAM函数 */
/* */
/* 时 间:2002年02月21日 */
/********************************************************************************/
void TestSRAM(void)
{
unsigned char data i,j;
unsigned char data a,b[4],c;
/* 标志清零 */
a = 0;
/* 读写测试10次 */
for(j=0;j<10;j++)
{
WATCHDOG = ~WATCHDOG;
for(i=0;i<250;i++)
{
c = i+j;
/* 写数据 */
*(SRAM+i) = c;
*(SRAM+0x100+i) = c;
*(SRAM+0x200+i) = c;
*(SRAM+0x300+i) = c;
/* 读数据并比较 */
b[0] = *(SRAM+i);
b[1] = *(SRAM+0x100+i);
b[2] = *(SRAM+0x200+i);
b[3] = *(SRAM+0x300+i);
if( (b[0]!=c) ||
(b[1]!=c) ||
(b[2]!=c) ||
(b[3]!=c) )
{
a = 1;
}
}
/* 根据结果置标志 */
if(a==1)
{
// ALARM_LED = ON;
m_bSRAMTestFlag = WRONG;
}
else
{
m_bSRAMTestFlag = RIGHT;
}
}
return;
}
/********************************************************************************/
/* 函数名称:void TestSAB82525(void) */
/* 简要描述:测试SAB82525读写函数 */
/* */
/* 时 间:2002年02月21日 */
/********************************************************************************/
void TestSAB82525(void)
{
unsigned char data i,j;
unsigned char data a,b[8];
/* 标志清零 */
a = 0;
/* 读写测试250次 */
for(i=0;i<250;i++)
{
WATCHDOG = ~WATCHDOG;
*(SAB82525+0x22) = i;
*(SAB82525+0x23) = i;
*(SAB82525+0x2c) = i;
// *(SAB82525+0x2f) = i;
*(SAB82525+0x62) = i;
*(SAB82525+0x63) = i;
*(SAB82525+0x6c) = i;
// *(SAB82525+0x6f) = i;
b[0] = *(SAB82525+0x22);
b[1] = *(SAB82525+0x23);
b[2] = *(SAB82525+0x2c);
b[3] = i;
// b[3] = *(SAB82525+0x2f);
b[4] = *(SAB82525+0x62);
b[5] = *(SAB82525+0x63);
b[6] = *(SAB82525+0x6c);
b[7] = i;
// b[7] = *(SAB82525+0x6f);
for(j=0;j<8;j++)
{
if (b[j] != i)
{
a = 1;
}
}
/* 根据结果置标志 */
if(a==1)
{
// ALARM_LED = ON;
m_bSAB82525TestFlag = WRONG;
}
else
{
m_bSAB82525TestFlag = RIGHT;
}
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -