📄 exbus_example.c
字号:
/************************************************************************************
* Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: EXBUS_Example.c
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: 本文件是EXBUS(外部扩展BUS)测试程序文件;
*
* Others: none;
*
* Function List:
* 1. void EXBUS_Proc(void)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部头文件
#include <ABSACC.H>
#include "..\config\C8051f020.h"
#include "..\config\Const.h"
#include "..\driver\uart.h"
#include "..\driver\delay.h"
#include "..\driver\exbus.h"
/************************************************************************************/
/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/
#define EXBUS_SIZE 0x0800
/*************************************************************************************/
//
// EXBUS(外部扩展BUS)测试程序函数定义
//
/*************************************************************************************/
/***********************************************************************************
* Function: EXBUS_Proc;
*
* Description: EXBUS测试程序;
*
* Input: none;
*
* Return: none;
*
* Note: none;
************************************************************************************/
void EXBUS_Proc(void)
{
unsigned int i;
unsigned char val;
//unsigned char bus[0x800];
Uart0_SendBlock("EXBUS test starting!\n\r",23,&val);
Delay_ms(100);
for (i=0;i<EXBUS_SIZE;i++)
{
val = 0xff - (unsigned char)i;
EXBUS_WriteByte(i,val);
//XBYTE[EXBUS_START_ADDR+i] = val;
//bus[i] = XBYTE[i+EXBUS_START_ADDR];
}
for (i=0;i<EXBUS_SIZE;i++)
{
val =0xff - EXBUS_ReadByte(i);
if (val!=(unsigned char)i)
{
Uart0_Init(0,115200); //Uart0 初始化函数,波特率是115200,使用定时器1作为时钟,允许发送和接收中断
Uart0_SendBlock("EXBUS Error!\n\r",15,&val);
Uart0_SendBlock("EXBUS test end!\n\r", 18, &val);
return;
}
}
Uart0_Init(0,115200); //Uart0 初始化函数,波特率是115200,使用定时器1作为时钟,允许发送和接收中断
Uart0_SendBlock("EXBUS OK!\n\r", 11, &val);
Uart0_SendBlock("EXBUS test end!\n\r", 17, &val);
}
/***********************************************************************************/
// 文件结束
/***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -