⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2cbus.c

📁 hreadx实时嵌入式操作系统源代码,ARM移植. threadx是一个很好的多任务实时嵌入式操作系统
💻 C
字号:
/****************************************Copyright (c)****************************************************
**                            Guangzhou ZHIYUAN electronics Co.,LTD.
**                                      
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               i2cBus.c
** Last modified Date:      2007-12-05
** Last Version:            1.0.0
** Descriptions:            2440 I2C 总线驱动抽象
**
**--------------------------------------------------------------------------------------------------------
** Created by:              Hanhui
** Created date:            2007-12-05
** Version:                 1.0.0
** Descriptions:            2440 I2C 总线驱动抽象
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             
** Modified date:           
** Version:                 
** Descriptions:            
**
*********************************************************************************************************/
#include "config.h"
#include "i2cCfg.h"
#include "i2cBus.h"
/*********************************************************************************************************
  全局变量定义
*********************************************************************************************************/
I2C_BUS         __Gi2cbusChannel[I2C_MAX_CHANNEL];                      /*  I2C 物理控制器通道定义      */
/*********************************************************************************************************
** Function name:           i2cBusInit
** Descriptions:            初始化所有 I2C 总线
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
** Created by:              Hanhui
** Created Date:            2007/12/05
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void  i2cBusInit (void)
{
    static  int     iIsInit = 0;
            int     i;
            
    if (iIsInit) {                                                      /*  检测是否已经初始化过了      */
        return;
    }
    
    iIsInit = 1;
    
    for (i = 0; i < I2C_MAX_CHANNEL; i++) {
    
        __Gi2cbusChannel[i].uiOpenNum  = 0;
        
        __Gi2cbusChannel[i].peventSync = OSSemCreate(0);                /*  建立同步信号量              */
        if (__Gi2cbusChannel[i].peventSync == (OS_EVENT *)0) {
            I2C_DEBUG_OUT("i2c channle sync-sem can not create.\r\n");
        }
        __Gi2cbusChannel[i].peventLock = OSSemCreate(1);                /*  建立互斥信号量              */
        if (__Gi2cbusChannel[i].peventSync == (OS_EVENT *)0) {
            I2C_DEBUG_OUT("i2c channle lock-sem can not create.\r\n");
        }
    }
}
/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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