#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)
{

}

void SPI0_IRQHandler(void)
{
    if ((SPI_GetFlagStatus(SPI_Flag_RB) == SET) && (SPI_GetITStatus(SPI_IT_RB) == SET))
    {
        g_rbuf[recv_cnt++] = SPI_RecByte();
        memcpy(g_wbuf, g_rbuf, recv_cnt);

        if (recv_cnt > 7)
        {
            recv_cnt = 0;
        }
    }

    if ((SPI_GetFlagStatus(SPI_Flag_TB) == SET) && (SPI_GetITStatus(SPI_IT_TB) == SET))
    {
        SPI_SendByte(g_wbuf[send_cnt++]);

        if (send_cnt > 7)
        {
            send_cnt = 0;
        }
    }
}
