📄 main.c
字号:
//======================================================================
// The information contained herein is the exclusive property of
// Sunnnorth Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
// ALL RIGHTS RESERVED
// The entire notice above must be reproduced on all authorized copies.
//=======================================================================
//=======================================================================
// 工程名称: SPR4096_SRAM
// 功能描述: 测试SPR4096 的SRAM读写
// 涉及的库: CMacro1016.lib
// 组成文件: main.c
// 4096.asm
// SPCE061A.INC
// SPCE061A.H
// 硬件连接: CF->IOB11
// SDA->IOB1
// SCK->IOB0
// 维护记录: 2003-8-13 V1.0
// 2005-10-25 规范化
//=======================================================================
//=======================================================================
// 文件名称: main.c
// 功能描述: SPR4096 作SRAM读写操作
// 维护记录: 2003-8-13 V1.0
// 2005-10-25 规范化
//=======================================================================
extern void SP_SIOInitial(void);
extern void SP_SIOSendAWord(unsigned long int ulAddr,unsigned int uiData);
extern void SP_SIOSendAByte(unsigned long int ulAddr,unsigned int uiData);
extern unsigned int SP_SIOReadAWord(unsigned long int ulAddr);
extern unsigned int SP_SIOReadAByte(unsigned long int ulAddr);
#define M_SECTOR 0 //第几个扇区(只能选零,因为4096的SRAM只有一页)
#include "SPCE061A.H"
//========================================================================
// 语法格式: int main(void)
// 实现功能: 主程序
// 参数: 无
// 返回值: 无
//========================================================================
int main(void)
{
unsigned long int ulStartAddr;
unsigned int uiData;
uiData=0;
SP_SIOInitial(); //系统初始化
*P_IOA_Dir = 0xffff;
*P_IOA_Attrib = 0xffff;
*P_IOA_Data = 0xffff;
uiData = *P_IOB_Dir; // IOB11:高电平,选择SRAM
uiData |= 0x0800; //
*P_IOB_Dir = uiData;
uiData = *P_IOB_Attrib; //
uiData |= 0x0800; //
*P_IOB_Attrib = uiData;
uiData = *P_IOB_Buffer; //
uiData |= 0x0800; //
*P_IOB_Data = uiData;
ulStartAddr=0x800*(M_SECTOR);
SP_SIOSendAWord(ulStartAddr,0x1234); //往4096的第M_SECTOR个扇区的首地址写入一个Word的数据
*P_IOA_Data = 0x000f; //点亮与IOA0~IOA3相连的LED
uiData=SP_SIOReadAWord(ulStartAddr); //从4096的第M_SECTOR个扇区的首地址读出一个Word的数据
if(uiData!=0x1234)
*P_IOA_Data = 0x0000; //熄灭与IOA0~IOA7相连的LED
else
*P_IOA_Data = 0x00ff; //点亮与IOA0~IOA7相连的LED
while(1)
{
*P_Watchdog_Clear=0x1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -