/****************************************************************************************
 * 功能： 演示乘除法器的用法。
 * 文件名: main.c
 * 项目名: KF8A100FTN_MUL_DIV
 * 版 本: v1.0
 * 日 期: 2019年08月28日 17时15分57秒
 * 作 者: charles_cai
 * 功能： LED2/3初始化为点亮。先用乘除法外设进行运算，再用普通代码执行运算，对两种的方法得到的结果进行验算，如果有一种运算结果错误，则关闭对应的LED。
 * 注意： 乘、除法完成后，一定要关闭要使能。在使能状态下，移入运算数，可能会导致运算出错。
 * 		变量的长度，一定要注意，防止数据溢出。编译器默认常数的数据类型是Unsigned int的。
 * 		代码中的乘除法，编译器默认使用硬件乘除法器进行运算，已经不需要用代码调用乘除法器。
 * 		乘法运算需要消耗8个指令周期，除法运算需要消耗9个指令周期的时间。
 ****************************************************************************************/
#include"main.h"

unsigned int last,sum,sum1;
unsigned long val,val1 ;

//主函数
void main()
{
	unsigned int a, b, c,d;
	Init_osc();
	Init_GPIO();
	LED2 =1;
	LED3 =1;

	while(1)
	{
		a =3214;
		b =12345;
		val =0;
		P5LR3 =1;
		val =Mul_A_B(a,b);
		P5LR3 =0;

		P5LR4 =1;
		val1 =a;
		val1 *=b;
		P5LR4 =0;
		if(val !=val1)
			LED3 =0;

		c=57890;
		d =236;
		sum=0;
		sum =Div_A_B(c,d);

		sum1 =c;
		sum1 =sum1 /d;
		if(sum !=sum1 )
			LED2 =0;
	}

}
//中断函数0:0X04入口地址
void int_fun0() __interrupt (0)
{

}


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

}
