#include "irqhandler.h"

void NMI_IRQHandler(void)
{

}

void HardFault_IRQHandler(void)
{
    while (1)
    {
    }
}

void SVC_IRQHandler(void)
{

}

void PendSV_IRQHandler(void)
{

}

void SysTick_IRQHandler(void)
{
    TimingDelay_Decrement();
}

/***************************************************************
 函数名: void T16N3_IRQHandler(void)
 描  述：T16N3定时中断函数
 输入值：无
 输出值：无
 返回值：无
***************************************************************/
void T16N3_IRQHandler(void)
{

}
/***************************************************************
 函数名: void I2C0_IRQHandler(void)
 描  述：IIC中断函数
 输入值：无
 输出值：无
 返回值：无
***************************************************************/
void I2C0_IRQHandler(void)
{
    if ((I2C_GetFlagStatus(I2C_Flag_TB) == SET) && I2C_GetITStatus(I2C_IT_TB) == SET)
    {
        I2C_SendByte(g_txbuf[g_tx_count++]);

        if (g_tx_count == g_tx_length)
        {
            I2C_ITConfig(I2C_IT_TB, DISABLE);
        }
    }

    if (I2C_GetFlagStatus(I2C_Flag_RB) == SET && I2C_GetITStatus(I2C_IT_RB) == SET)
    {
        if (g_rx_count == g_rx_length - 1)
        {
            I2C_RecModeConfig(I2C_RecMode_1);
        }

        I2C_RDTrigger();

        g_rxbuf[g_rx_count++] = I2C_RecByte();

        if (g_rx_count == g_rx_length)
        {
            I2C_ITConfig(I2C_IT_RB, DISABLE);
        }
    }
}





