#include "bsp.h"

/*************************************************************
 * 时钟初始化
 *************************************************************/
void hal_clock_init(void)
{
	CLKCON = 0x02;//打开内部高速RC
	CLKSWR = 0x00;						//选择内部高频RC为系统时钟，内部高频RC 2分频，Fosc=32MHz
	CLKDIV = 0x02;						//Fosc 2分频得到Fcpu，Fcpu=16MHz
	FREQ_CLK = 0x10;					//本例程涉及掉电模式，需指明当前系统时钟
}


/**
* @说明  	延时函数
* @参数  	fui_i : 延时时间
* @返回值 无
* @注 	Fcpu = 16MHz,fui_i = 1时,延时时间约为2us
*/
//void delay_2us(u32 us)
//{
//	while(us--);	
//}

/**
  * @说明  	延时函数
  * @参数  	fui_i : 延时时间
  * @返回值 无
  * @注 	Fcpu = 16MHz，fui_i = 1时，延时时间约为1Ms
  */
void delay_ms(u32 ms)
{
    unsigned int fui_j;
	for(;ms > 0;ms--) {
	    for(fui_j = 1596;fui_j > 0;fui_j --){
            ;
        }
    }
}

void bsp_init(void)
{
	WDTCCR = 0x00;			   //关闭看门狗

  /* 时钟为16Mhz */
  hal_clock_init();
	
	/* 串口1初始化 9600 8n1*/
	bsp_uart_init();
	/* 串口2初始化 */
	//bsp_uart2_init();//8bit 9600bps
	

	
	/* 看门狗初始化, 用于异常时系统复位 */
   // hal_wdt_init();
	
    /* 定时器周期定时为10ms */
	hal_timer_init();   // 10ms

	//bsp_flash_init();

}




