/* handle program when an rx no empty interrupt flag arrived in non block mode  */
static void __i2s_recv_by_it(ald_i2s_handle_t *hperh)
/* handle program when an rx no empty interrupt flag arrived in non block mode  */
static void __i2s_recv_by_it(ald_i2s_handle_t *hperh)
{
    while (READ_BITS(hperh->perh->STAT, SPI_STAT_RXFLV_MSK, SPI_STAT_RXFLV_POSS)) {
        *(hperh->rx_buf++) = hperh->perh->DATA;
        --hperh->rx_count;
    }
    if (hperh->rx_count == 0) {
        ald_i2s_interrupt_config(hperh, ALD_I2S_IT_RXTH, DISABLE);
        hperh->state = ALD_I2S_STATE_READY;
        if (hperh->rx_cplt_cbk)
            hperh->rx_cplt_cbk(hperh);
    }
    return;
}