我用了两个定时器一个读i2c ,一个读 IO口可是I2C只能程序运行的时候打开这是为什么那

```void sanjitutai::OnTimer(UINT_PTR nIDEvent)
{

switch (nIDEvent)
{
case DealData_timer://每秒一次的处理
DealData();
/*KillTimer(DealData_timer);*/
break;

    case BatteryData_timer: //每分钟一次的处理
         ReadBattery();
       /*  KillTimer(BatteryData_timer);*/
        break;
        default:
     ;
}
CDialog::OnTimer(nIDEvent);

}
BOOL sanjitutai::ReadBattery()
{
HANDLE hI2C; // I2C设备操作号
I2C_TRANSACTION_INFO i2cInfo;
byte InBuffer = 0 ;

hI2C = I2C_Open(L"I2C1:");

if(hI2C == INVALID_HANDLE_VALUE)
{   
    printf("Open I2C Device fail!\r\n");
    I2C_Close(hI2C);
    return 0;
}
I2C_Close(hI2C);
return 0;

}

https://blog.csdn.net/qq_32419007/article/details/87384262