ここでは、I2C プロトコルを使用して、windows 10 IOT ビルド 14376 インサイダーを実行しているラズベリー pi 3 と T-REXマニュアルの間で通信しようとしています。問題は、常にクラッシュすることです。そのため、いくつかのデバッグ プロセスの後、 から何も取得していないように見えDeviceInformation.FinAllAsync(..)
、ArgumentOutOfRangeException
. Microsoft のチュートリアルではここで言及されていないデバイスの機能やアクセス許可など、私が理解できないことがいくつかあるはずです。
var settings = new I2cConnectionSettings(0x07);
settings.BusSpeed = I2cBusSpeed.StandardMode;
var aqs = I2cDevice.GetDeviceSelector("I2C1");
var dis = await DeviceInformation.FindAllAsync(aqs);
int a = dis.Count; //is always equal to 0
次に、前述の方法using (I2cDevice device = await I2cDevice.FromIdAsync(dis[0].Id, settings)){...}
で失敗ArgumentOutOfRangeException
する
私が試した2番目の方法は、このコードを使用することでした:
I2CDevice device;
var settings = new I2cConnectionSettings(0x07);
settings.BusSpeed = I2cBusSpeed.StandardMode;
var controller = await Windows.Devices.I2c.I2cController.GetDefaultAsync();
device = controller.GetDevice(settings);
最後NullReferenceException
の行で