saa7113.c

来自「hreadx实时嵌入式操作系统源代码,ARM移植. threadx是一个很好的多」· C语言 代码 · 共 624 行 · 第 1/3 页

C
624
字号
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  saa7113SetBrightness (unsigned char  ucBrightness)
{
    int                 iSendNum;
    I2C_SUB_ADDR        i2csaddrTemp;                                   /*  子地址控制块                */
    
    i2csaddrTemp.ucSubAddrNum = 1;                                      /*  仅使用 一个 子地址          */
    
    i2csaddrTemp.ucSubAddrArry[0] = 0x0A;                               /*  0x0A 号寄存器               */
    
    i2cDevIoctl(&__Gi2cdevSaa7113, 
                I2C_SET_SUB_ADDR, 
                (int)&i2csaddrTemp);                                    /*  设置子地址                  */

    iSendNum = i2cDevWrite(&__Gi2cdevSaa7113, 
                           (char *)&ucBrightness, 1);                   /*  写入参数                    */
    
    if (iSendNum < 1) {
        __SAA7113_ERROR_OUT("saa7113 init error\r\n");
    }
    
    __GsaactxContext.ucBrightness = ucBrightness;
}
/*********************************************************************************************************
** Function name:           saa7113SetContrast
** Descriptions:            SAA7113 视频采集卡设置对比度
** input parameters:        ucContrast     对比度
** output parameters:       NONE
** Returned value:          NONE
** Created by:              Hanhui
** Created Date:            2007/12/13
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  saa7113SetContrast (unsigned char  ucContrast)
{
    int                 iSendNum;
    I2C_SUB_ADDR        i2csaddrTemp;                                   /*  子地址控制块                */
    
    i2csaddrTemp.ucSubAddrNum = 1;                                      /*  仅使用 一个 子地址          */
    
    i2csaddrTemp.ucSubAddrArry[0] = 0x0B;                               /*  0x0B 号寄存器               */
    
    i2cDevIoctl(&__Gi2cdevSaa7113, 
                I2C_SET_SUB_ADDR, 
                (int)&i2csaddrTemp);                                    /*  设置子地址                  */

    iSendNum = i2cDevWrite(&__Gi2cdevSaa7113, 
                           (char *)&ucContrast, 1);                     /*  写入参数                    */

    if (iSendNum < 1) {
        __SAA7113_ERROR_OUT("saa7113 init error\r\n");
    }
    
    __GsaactxContext.ucContrast = ucContrast;
}
/*********************************************************************************************************
** Function name:           saa7113SetSaturation
** Descriptions:            SAA7113 视频采集卡设置饱和度
** input parameters:        ucSaturation     饱和度
** output parameters:       NONE
** Returned value:          NONE
** Created by:              Hanhui
** Created Date:            2007/12/13
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  saa7113SetSaturation (unsigned char  ucSaturation)
{
    int                 iSendNum;
    I2C_SUB_ADDR        i2csaddrTemp;                                   /*  子地址控制块                */
    
    i2csaddrTemp.ucSubAddrNum = 1;                                      /*  仅使用 一个 子地址          */
    
    i2csaddrTemp.ucSubAddrArry[0] = 0x0C;                               /*  0x0C 号寄存器               */
    
    i2cDevIoctl(&__Gi2cdevSaa7113, 
                I2C_SET_SUB_ADDR, 
                (int)&i2csaddrTemp);                                    /*  设置子地址                  */

    iSendNum = i2cDevWrite(&__Gi2cdevSaa7113, 
                           (char *)&ucSaturation, 1);                   /*  写入参数                    */
    
    if (iSendNum < 1) {
        __SAA7113_ERROR_OUT("saa7113 init error\r\n");
    }
    
    __GsaactxContext.ucSaturation = ucSaturation;
}
/*********************************************************************************************************
** Function name:           saa7113SetHue
** Descriptions:            SAA7113 视频采集卡设置色调
** input parameters:        ucHue     色调
** output parameters:       NONE
** Returned value:          NONE
** Created by:              Hanhui
** Created Date:            2007/12/13
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  saa7113SetHue (unsigned char  ucHue)
{
    int                 iSendNum;
    I2C_SUB_ADDR        i2csaddrTemp;                                   /*  子地址控制块                */
    
    i2csaddrTemp.ucSubAddrNum = 1;                                      /*  仅使用 一个 子地址          */
    
    i2csaddrTemp.ucSubAddrArry[0] = 0x0D;                               /*  0x0D 号寄存器               */
    
    i2cDevIoctl(&__Gi2cdevSaa7113, 
                I2C_SET_SUB_ADDR, 
                (int)&i2csaddrTemp);                                    /*  设置子地址                  */

    iSendNum = i2cDevWrite(&__Gi2cdevSaa7113, 
                           (char *)&ucHue, 1);                          /*  写入参数                    */
    if (iSendNum < 1) {
        __SAA7113_ERROR_OUT("saa7113 init error\r\n");
    }
    
    __GsaactxContext.ucHue = ucHue;
}
/*********************************************************************************************************
** Function name:           saa7113EnableWhitepeakOff
** Descriptions:            SAA7113 视频采集卡允许白峰控制
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
** Created by:              Hanhui
** Created Date:            2007/12/13
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  saa7113EndleWhitepeakOff (void)
{
    int                 iSendNum;
    unsigned char       ucTemp;
    I2C_SUB_ADDR        i2csaddrTemp;                                   /*  子地址控制块                */
    
    i2csaddrTemp.ucSubAddrNum = 1;                                      /*  仅使用 一个 子地址          */
    
    i2csaddrTemp.ucSubAddrArry[0] = 0x03;                               /*  0x03 号寄存器               */
    
    i2cDevIoctl(&__Gi2cdevSaa7113, 
                I2C_SET_SUB_ADDR, 
                (int)&i2csaddrTemp);                                    /*  设置子地址                  */
                
    i2cDevRead(&__Gi2cdevSaa7113, 
               (char *)&ucTemp, 1);                                     /*  读出参数                    */
               
    ucTemp = (unsigned char)(ucTemp & ~(1 << 4));                       /*  清除 D4                     */
    
    iSendNum = i2cDevWrite(&__Gi2cdevSaa7113, 
                           (char *)&ucTemp, 1);                         /*  写入参数                    */
    if (iSendNum < 1) {
        __SAA7113_ERROR_OUT("saa7113 init error\r\n");
    }
}
/*********************************************************************************************************
** Function name:           saa7113DisableWhitepeakOff
** Descriptions:            SAA7113 视频采集卡允许白峰控制
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
** Created by:              Hanhui
** Created Date:            2007/12/13
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  saa7113DisableWhitepeakOff (void)
{
    int                 iSendNum;
    unsigned char       ucTemp;
    I2C_SUB_ADDR        i2csaddrTemp;                                   /*  子地址控制块                */
    
    i2csaddrTemp.ucSubAddrNum = 1;                                      /*  仅使用 一个 子地址          */
    
    i2csaddrTemp.ucSubAddrArry[0] = 0x03;                               /*  0x03 号寄存器               */
    
    i2cDevIoctl(&__Gi2cdevSaa7113, 
                I2C_SET_SUB_ADDR, 
                (int)&i2csaddrTemp);                                    /*  设置子地址                  */
                
    i2cDevRead(&__Gi2cdevSaa7113, 
               (char *)&ucTemp, 1);                                     /*  读出参数                    */
               
    ucTemp = (unsigned char)(ucTemp | (1 << 4));                        /*  置位 D4                     */
    
    iSendNum = i2cDevWrite(&__Gi2cdevSaa7113, 
                           (char *)&ucTemp, 1);                         /*  写入参数                    */
    if (iSendNum < 1) {
        __SAA7113_ERROR_OUT("saa7113 init error\r\n");
    }
}
/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?