📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** 广州周立功单片机发展有限公司
** http://www.zlgmcu.com
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: Main.c
**创 建 人: 牛利峰
**最后修改日期: 2007年9月29日
**描 述: RAMTRON_DEMO板的演示程序,仅供参考
程序开始先测试各个存储器模块,然后进入死循环,LED和按键的功能在Timer2
中断中实现,按下某一键后,从UART0打印出相关信息,同时LED的闪烁方式发生变化
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 牛利峰
** 版 本: 1.0
** 日 期: 2007年9月19日
** 描 述: 原始版本
********************************************************************************************************/
#include "Config.h"
/********************************************************************************************************
**函数名称:SysInit
**函数功能:根据需要初始化相关的外设,可通过"Config.h"中的宏定义控制
**输 入:无
**输 出:无
**全局变量:
**调用模块:
**作 者:牛利峰
**日 期:2007年9月29日
********************************************************************************************************/
//********************************************************************************************************/
//由于变量较多,用户使用紧凑模式或大模式编译即可
//另外,若I2C部分在使用中出现问题,可降低C51的优化程度
//********************************************************************************************************/
void SysInit(void)
{
SysClockInit(); //系统时钟设置
//FRAMInit(); //开放FRAM
//---------------------------------------------------
//各种外设的初始化操作
//---------------------------------------------------
#ifdef I2CTEST
I2CMasterInit(); //I2C主方式初始化
#endif
#ifdef UART0TEST
UART0Config(); //配置串口0
#endif
#ifdef UART1TEST
UART1Config(); //配置串口1
#endif
#ifdef FM25L04TEST
SPIInit(); //SPI初始化
#endif
#ifdef FM18L08TEST
MemInit(); //内存初始化
#endif
#ifdef IOTEST
IOInit(); //端口设置
#endif
#ifdef T2INIT
T2Init(); //初始化定时器2
#endif
//---------------------------------------------------
}
/********************************************************************************************************
**函数名称:BoardTest
**函数功能:母板上的功能模块测试
**输 入:
**输 出:
********************************************************************************************************/
void BoardTest(void)
{
//---------------------------------------------------
//四个LED闪烁,延时
//---------------------------------------------------
#ifdef LEDTEST
LEDON();
#endif
//---------------------------------------------------
//测试开始,打印相关信息
//---------------------------------------------------
UART0_Printf("\n\n >>****************************** Test Begin ******************************<< \n");
//---------------------------------------------------
//UART1测试,向串口1打印信息
//---------------------------------------------------
#ifdef UART1TEST
UART1Test();
#endif
//---------------------------------------------------
//外部并行存储器FM18L08访问测试,每次读写256个字节
//每次读写256字节数据,32K共需读写128次,每完成一次
//输出一个点
//---------------------------------------------------
#ifdef FM18L08TEST
FM18L08Test();
#endif
//---------------------------------------------------
//SPI接口器件25L04读写测试
//先产生512个随机数,然后将其写入FM25L04,再读回来
//与写入的比较
//---------------------------------------------------
#ifdef FM25L04TEST
FM25L04Test();
#endif
//---------------------------------------------------
//I2C接口器件24CL04读写测试
//先产生512个随机数,然后将其写入FM25L04,再读回来
//与写入的比较
//---------------------------------------------------
#ifdef FM24CL04TEST
FM24CL04Test();
#endif
//---------------------------------------------------
//I2C接口器件FM3104的内部存储器读写测试
//---------------------------------------------------
#ifdef FM3104MEMTEST
FM3104MemTest();
#endif
//---------------------------------------------------
//测试完成,打印相关信息
//---------------------------------------------------
UART0_Printf("\n >>****************************** Test Over *******************************<< \n\n");
}
//***************************************************************************************
//系统主函数
//***************************************************************************************
void main (void)
{
SysInit(); //系统初始化,必不可少
BoardTest(); //测试外围器件
#ifdef INTTEST
INTInit(); //初始化中断,注意:需要等到测试完成才能开中断
#endif
while(1)
{;} //LED和按键的处理都放在Timer2的定时中断里
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -