/****************************************************************************************
 * KF8A系列单片机	KF8A100EON_DEMO	开发板演示程序
 * 标    题: SPI实验，A100EON无SPI资源
 * 项目名: 12- SPI_Test
 * 开发环境：ChipON IDE
 * 版          本     ：V1.0 (2019/07/23)
 * 作 者: 上海芯旺微电子有限公司
 * 功能简述:	1.测试SPI Master功能，每500ms将从机数据读出并打印到串口上输出。
 * 			2.测试SPI Slave功能，将准备的数据输出到主机上做对比
 * 硬件说明： 使用两块A100EON开发板对接，SCL-SCL SDA-SDA并添加外不上拉电阻4.7K；
 * 跳线接法： 单片机供电选择为3.3V或5V
 ****************************************************************************************/
#include<KF8A100EON.h>
#include "include.h"

volatile uchar	Timer2_count;
uchar DATA;
void Sys_Init(void)
{
	OSCCTL = 0x70;		//时钟配置为内部16M
	TR0=0;
	TR1=0;
	TR2=0;
	TR3=0;
	P0=0;
	P1=0;
	P2=0;
	P3=0;
}

//主函数
void main()
{
	Sys_Init();
	Timer2_Init();
#if	SPI_MODE==MODE_Master
	SPI_Init(MODE_Master);
	UART_Init();
#else
	SPI_Init(MODE_Slave);
#endif
	AIE=1;
	PUIE=1;
	while(1)
	{
#if	SPI_MODE==MODE_Master
		if(Timer2_count>=1)
		{
			Timer2_count=0;
			SPI_SS_PIN=0;
			DATA=SPI_RW_DATA(0x55);
			UART_SendBuf(DATA);
			SPI_SS_PIN=1;
		}
#else
		DATA=SPI_RW_DATA(0x12);
		if(DATA == 0x55)
		{
			DATA=SPI_RW_DATA(0x34);
		}
#endif
	}
}
//中断函数0:0X04入口地址
void int_fun0() __interrupt (0)
{
	if(T2IE&T2IF)
	{
		T2IF=0;
		Timer2_count++;
	}
}


//中断函数1:0x14入口地址
void int_fun1() __interrupt (1)
{

}
