#include "include.h"
/*
BL08M003-带电烧录-Demo
注意：
1、仿真无法使用PA0/PA1 为通信IO口
2、使能带电升级需配置DBG0EN=1，软件中若需要SLEEP，则在SLEEP前配置DBG0EN=0，
否则会导致静态电流增大。
3、休眠下带电烧录，需在程序中配置PA0、PA1端口变化中断唤醒，唤醒SLEEP后，
重新使能DBG0EN=1。
4、使用BL-Programmer工具，设置-----高级设置-----电压选择 中选择3.3V
*/
void main(void)
{
	////初始化函数 
	System_Int();
	Delay_ms(100);	

	TRISA0 = 0;
	ANSELA0 = 1;			//配置PA0端口数字输入模式
	WPDA0 = 1;				//使能PA0端口下拉
	IOCA0 = 1;				//使能PA0端口变化中断/唤醒功能

	TRISA1 = 0;
	ANSELA1 = 1;			//配置PA1端口数字输入模式
	WPDA1 = 1;				//使能PA1端口下拉
	IOCA1 = 1;				//使能PA1端口变化中断/唤醒功能

	PAIF = 0;			
	PAIE = 1;				//使能PA端口电平变化中断
	GIE = 1;				//使能总中断
	while(1)
	{
		DBG0EN = 0;			//休眠前关闭带电烧录功能
		asm("nop");
		asm("nop");
		asm("nop");
		asm("sleep");
		asm("nop");
		asm("nop");
		asm("nop");	
	}
}
///中断服务函数
void interrupt PORTA_Isr(void)
{
	if(PAIF == 1)
	{
		PAIF = 0;
		DBG0EN = 1;				//中断唤醒后开启带电烧录功能		
	}
}

void Delay_ms(unsigned int fui_i)
{
	unsigned int fui_j;
	for(;fui_i > 0;fui_i --)
	for(fui_j = 205;fui_j > 0;fui_j --);
}