请问 CH341ReadI2C 即使是错误的 i2c slave address,也回报true?

您好,


请问我用C# 呼叫 CH341ReadI2C 时,发现即使是不存在的 i2c slave address (mDevAddr),CH341ReadI2C 也回应 True

只是读到的值为0xFF,请问如何让CH341ReadI2C 在 I2C NACK 时,能回应 False 呢?

谢谢


try

        {

            byte mDevAddr = Convert.ToByte(args[0], 16);

            byte mDataAddr = Convert.ToByte(args[1], 16);

            byte mData = 0;


            if (CH341DLL.CH341ReadI2C(mIndex, mDevAddr, mDataAddr, ref mData))

            {

                // Return the read data in hexadecimal format

                string verifyArgs = $"{args[0]} {args[1]}";

                Console.WriteLine($"{mDevAddr:X2}:{mDataAddr:X2} = {mData:X2}");

                return $"{mData:X2}";

            }

            else

            {

                return "I2C read data failed.";

            }

        }


您好,可参考此Blog:https://blog.csdn.net/WCH_TechGroup/article/details/130932558 

默认DLL中的I2C接口是不检测设备的ACK应答状态的,可使用其他接口函数来实现。

此外,升级版本的高速USB转多接口CH347芯片默认是检测设备ACK状态。


只有登录才能回复,可以选择微信账号登录