打印
[抢楼250]

菜地公告:即日起创建《菜农Cortex-M0助学园地》(盖楼入口)

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
2761
murex| | 2011-4-9 00:10 | 只看该作者 回帖奖励 |倒序浏览
typedef volatile union
{
  NU_REG         Regs;
  I2S_IE_T    Bits;
}NU_I2S_IE_T;

使用特权

评论回复
2762
murex| | 2011-4-9 00:10 | 只看该作者
typedef enum
{
    I2S_IE_RXUDFIE = 0,//接收FIFO下溢中断使能
        I2S_IE_RXOVFIE = 1,//接收FIFO溢出中断使能
        I2S_IE_RXTHIE = 2,//接收FIFO阈值水平中断
        I2S_IE_TXUDFIE = 8,//发送FIFO下溢中断使能
        I2S_IE_TXOVFIE = 9,//发送FIFO溢出中断使能
        I2S_IE_TXTHIE = 10,//发送FIFO 阈值水平中断使能
        I2S_IE_RZCIE = 11,//右声道过零检测中断使能
        I2S_IE_LZCIE = 12,//左声道过零检测中断使能
}NU_I2S_IE_ENUM;

使用特权

评论回复
2763
murex| | 2011-4-9 00:11 | 只看该作者
3084

使用特权

评论回复
2764
murex| | 2011-4-9 00:11 | 只看该作者
typedef enum
{
    I2S_IE_RXUDFIE = 0,//接收FIFO下溢中断使能
        I2S_IE_RXOVFIE = 1,//接收FIFO溢出中断使能
        I2S_IE_RXTHIE = 2,//接收FIFO阈值水平中断
        I2S_IE_TXUDFIE = 8,//发送FIFO下溢中断使能
        I2S_IE_TXOVFIE = 9,//发送FIFO溢出中断使能
        I2S_IE_TXTHIE = 10,//发送FIFO 阈值水平中断使能
        I2S_IE_RZCIE = 11,//右声道过零检测中断使能
        I2S_IE_LZCIE = 12,//左声道过零检测中断使能
}NU_I2S_IE_ENUM;

使用特权

评论回复
2765
murex| | 2011-4-9 00:11 | 只看该作者
typedef volatile union
{
  NU_REG         Regs;
  I2S_CLKDIV_T    Bits;
}NU_I2S_CLKDIV_T;

使用特权

评论回复
2766
murex| | 2011-4-9 00:12 | 只看该作者
javascript:;

使用特权

评论回复
2767
murex| | 2011-4-9 00:12 | 只看该作者
javascript:;javascript:;

使用特权

评论回复
2768
murex| | 2011-4-9 00:13 | 只看该作者
typedef volatile union
{
  NU_REG         Regs;
  I2S_CLKDIV_T    Bits;
}NU_I2S_CLKDIV_T;

使用特权

评论回复
2769
murex| | 2011-4-9 00:13 | 只看该作者
还差130

使用特权

评论回复
2770
murex| | 2011-4-9 00:13 | 只看该作者
typedef volatile union
{
  NU_REG         Regs;
  I2S_CLKDIV_T    Bits;
}NU_I2S_CLKDIV_T;

使用特权

评论回复
2771
murex| | 2011-4-9 00:13 | 只看该作者
typedef enum
{
    I2S_IE_RXUDFIE = 0,//接收FIFO下溢中断使能
        I2S_IE_RXOVFIE = 1,//接收FIFO溢出中断使能
        I2S_IE_RXTHIE = 2,//接收FIFO阈值水平中断
        I2S_IE_TXUDFIE = 8,//发送FIFO下溢中断使能
        I2S_IE_TXOVFIE = 9,//发送FIFO溢出中断使能
        I2S_IE_TXTHIE = 10,//发送FIFO 阈值水平中断使能
        I2S_IE_RZCIE = 11,//右声道过零检测中断使能
        I2S_IE_LZCIE = 12,//左声道过零检测中断使能
}NU_I2S_IE_ENUM;

使用特权

评论回复
2772
murex| | 2011-4-9 00:13 | 只看该作者
typedef volatile union
{
  NU_REG         Regs;
  I2S_CLKDIV_T    Bits;
}NU_I2S_CLKDIV_T;

使用特权

评论回复
2773
murex| | 2011-4-9 00:14 | 只看该作者
static void (*_pfGPABCallback)(uint32_t u32GPAStatus, uint32_t u32GPBStatus);
static void (*_pfGPCDECallback)(uint32_t u32GPCStatus, uint32_t u32GPDStatus, uint32_t u32GPEStatus);
static void (*_pfEINT0Callback)(void);
static void (*_pfEINT1Callback)(void);

使用特权

评论回复
2774
murex| | 2011-4-9 00:14 | 只看该作者
void GPAB_IRQHandler(void)
{
        uint32_t u32GPAStatus, u32GPBStatus;
       
    /* Keep the interrupt source */
        u32GPAStatus = GPIOA->ISRC;
        u32GPBStatus = GPIOB->ISRC;

    /* Clear the interrupt */
    GPIOA->ISRC = u32GPAStatus;
    GPIOB->ISRC = u32GPBStatus;

    /* Call the callback function of GPIOAB interrupt */
    if ( _pfGPABCallback )
        _pfGPABCallback(u32GPAStatus, u32GPBStatus);   
}

使用特权

评论回复
2775
murex| | 2011-4-9 00:14 | 只看该作者
void GPCDE_IRQHandler(void)
{
        uint32_t u32GPCStatus, u32GPDStatus, u32GPEStatus;
       
    /* Keep the interrupt source */
        u32GPCStatus = GPIOC->ISRC;
        u32GPDStatus = GPIOD->ISRC;
        u32GPEStatus = GPIOE->ISRC;

    /* Clear the interrupt */
    GPIOC->ISRC = u32GPCStatus;
    GPIOD->ISRC = u32GPDStatus;
    GPIOE->ISRC = u32GPEStatus;

    /* Call the callback function of GPIOAB interrupt */
    if ( _pfGPCDECallback )
        _pfGPCDECallback(u32GPCStatus, u32GPDStatus, u32GPEStatus);   
}

使用特权

评论回复
2776
murex| | 2011-4-9 00:14 | 只看该作者
void EINT0_IRQHandler(void)
{
    /* EINT0 = GPB14. Clear the interrupt */
          GPIOB->ISRC  = 1UL << 14;
        if ( _pfEINT0Callback )
        _pfEINT0Callback();
}

使用特权

评论回复
2777
murex| | 2011-4-9 00:15 | 只看该作者
快了快了

使用特权

评论回复
2778
murex| | 2011-4-9 00:15 | 只看该作者
void EINT1_IRQHandler(void)
{
    /* EINT0 = GPB15. Clear the interrupt */
          GPIOB->ISRC  = 1UL << 15;
        if ( _pfEINT1Callback )
        _pfEINT1Callback();
}

使用特权

评论回复
2779
murex| | 2011-4-9 00:15 | 只看该作者
int32_t DrvGPIO_Open(E_DRVGPIO_PORT port, int32_t i32Bit, E_DRVGPIO_IO mode)
{
    volatile uint32_t u32Reg;
   
    if ((i32Bit < 0) || (i32Bit > 16))
    {
        return E_DRVGPIO_ARGUMENT;
    }   

    u32Reg = (uint32_t)&GPIOA->PMD + (port*PORT_OFFSET);   
    if ((mode == E_IO_INPUT) || (mode == E_IO_OUTPUT) || (mode == E_IO_OPENDRAIN))
    {
        outpw(u32Reg, inpw(u32Reg) & ~(0x3<<(i32Bit*2)));
        if (mode == E_IO_OUTPUT)
        {
            outpw(u32Reg, inpw(u32Reg) | (0x1<<(i32Bit*2)));
        }else
        if (mode == E_IO_OPENDRAIN)
        {
            outpw(u32Reg, inpw(u32Reg) | (0x2<<(i32Bit*2)));
        }
    }else
        if (mode == E_IO_QUASI)
    {
        outpw(u32Reg, inpw(u32Reg) | (0x3<<(i32Bit*2)));
    }else
    {
        return E_DRVGPIO_ARGUMENT;
    }
        
        return E_SUCCESS;
}

使用特权

评论回复
2780
murex| | 2011-4-9 00:15 | 只看该作者
int32_t DrvGPIO_Close(E_DRVGPIO_PORT port, int32_t i32Bit)
{
    volatile uint32_t u32Reg;

    if ((i32Bit < 0) || (i32Bit > 16))
    {
        return E_DRVGPIO_ARGUMENT;
    }
   
    u32Reg = (uint32_t)&GPIOA->PMD + (port*PORT_OFFSET);   
    outpw(u32Reg, inpw(u32Reg) | (0x3<<(i32Bit*2)));
       
        GPIO_DBNCECON->ICLK_ON = 0;

    return E_SUCCESS;
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则