Beispiel #1
0
ptu32_t led_flash1(void)
{
    u32 my_para;
    while(1)
    {
        Djy_GetEventPara(&my_para,NULL);
        switch(my_para)
        {
            case 1:
                GPIO_SettoLow(CN_GPIO_C, (1<<4)|(1<<6)|(1<<8));
                GPIO_SettoHigh(CN_GPIO_C, (1<<9));
                break;
            case 2:
                GPIO_SettoLow(CN_GPIO_C, (1<<4)|(1<<6)|(1<<9));
                GPIO_SettoHigh(CN_GPIO_C, (1<<8));
               break;
            case 3:
                GPIO_SettoLow(CN_GPIO_C, (1<<6)|(1<<9)|(1<<8));
                GPIO_SettoHigh(CN_GPIO_C, (1<<4));
                break;
            case 4:
                GPIO_SettoLow(CN_GPIO_C, (1<<9)|(1<<4)|(1<<8));
                GPIO_SettoHigh(CN_GPIO_C, (1<<6));
                break;
            default:break;
        }
        Djy_ParaUsed(0);
        Djy_WaitEvttPop(Djy_MyEvttId(),NULL,CN_TIMEOUT_FOREVER);
    }
}
Beispiel #2
0
// =============================================================================
// 功能: I/O模拟的方式 释放没有复位和使能引脚的IIC器件
// 参数: port I/O口 如 CN_GPIO_B
//      TS_SDA:引脚号
//      TS_SCK:引脚号
// 返回: true/false
// =============================================================================
static bool_t _IIC_Busfree(u32 port,u32 sda_pin,u32 sck_pin)
{
     u32 timeout=0;
     GPIO_CfgPinFunc(port,sda_pin,CN_GPIO_MODE_IN_FLOATING);//TS_SDA
     GPIO_CfgPinFunc(port,sck_pin,CN_GPIO_MODE_GPIO_OUT_OD_50Mhz);//TS_SCK

     while(1)
     {
          timeout++;
          GPIO_SettoLow(port,1<<sck_pin);
          Djy_DelayUs(10);

          GPIO_SettoHigh(port,1<<sck_pin);
          Djy_DelayUs(10);

          if(timeout>=CONFIG_I2C_TIMEOUT)
              return false;
          if( GPIO_GetData(port)&(1<<sda_pin))
              break;
    }

    GPIO_CfgPinFunc(port,sda_pin,CN_GPIO_MODE_GPIO_OUT_OD_50Mhz);//TS_SDA
    //产生停止信号 iic总线释放
    GPIO_SettoLow(port,1<<sda_pin);
    Djy_DelayUs(10);
    GPIO_SettoHigh(port,1<<sda_pin);
    Djy_DelayUs(10);

    return true;
}
Beispiel #3
0
ptu32_t led_flash(void)
{
    while(1)
    {
        GPIO_SettoLow(CN_GPIO_C, (1<<4)|(1<<6)|(1<<8));
        GPIO_SettoHigh(CN_GPIO_C, (1<<9));
        Djy_EventDelay(500*mS);

        GPIO_SettoLow(CN_GPIO_C, (1<<4)|(1<<6)|(1<<9));
        GPIO_SettoHigh(CN_GPIO_C, (1<<8));
        Djy_EventDelay(500*mS);

        GPIO_SettoLow(CN_GPIO_C, (1<<6)|(1<<9)|(1<<8));
        GPIO_SettoHigh(CN_GPIO_C, (1<<4));
        Djy_EventDelay(500*mS);

        GPIO_SettoLow(CN_GPIO_C, (1<<9)|(1<<4)|(1<<8));
        GPIO_SettoHigh(CN_GPIO_C, (1<<6));
        Djy_EventDelay(500*mS);
    }
}
Beispiel #4
0
void lcd_backlight_on(void)
{
    GPIO_SettoLow(CN_GPIO_F,0x400);
}
Beispiel #5
0
void lcd_reset(void)
{
    GPIO_SettoLow(CN_GPIO_G,0x100);
    Djy_DelayUs(5000);
    GPIO_SettoHigh(CN_GPIO_G,0x100);
}