[英]Windows iot (c#) - Raspberry PI - I2C
1.我嘗試將Raspberry Pi用作主機,而將PIC16F1847用作從機。 從機向主機發送50個字節。 但是,我對C#編程有問題。 向下的C#代碼不被接受,即“ y”數組。 有人可以幫忙嗎? 2.這是代碼:
private I2cDevice PicDevice;
public class StartSpanning
{
public string Name { get; set; }
public int Amount { get; set; }
}
public MainPage()
{
this.InitializeComponent();
this.Loaded += MainPage_Loaded;
initI2c();
}
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
LoadChartContents();
}
async void initI2c()
{
string i2c1 = I2cDevice.GetDeviceSelector(); // Get a selector string that will return all I2C controllers on the system
var devices = await DeviceInformation.FindAllAsync(i2c1);
var I2Csettings = new I2cConnectionSettings(0x05); // Adrress PIC
I2Csettings.BusSpeed = I2cBusSpeed.StandardMode; // 100KHz bus speed
PicDevice = await I2cDevice.FromIdAsync(devices[0].Id, I2Csettings);
byte[] y = new byte[50];
var result = PicDevice.ReadPartial(y);
}
private void LoadChartContents()
{
List<StartSpanning> lijst_spanning = new List<StartSpanning>();
lijst_spanning.Add(new StartSpanning() { Name = "1", Amount = y[0] });
lijst_spanning.Add(new StartSpanning() { Name = "2", Amount = y[1] });
lijst_spanning.Add(new StartSpanning() { Name = "3", Amount = y[2] });
lijst_spanning.Add(new StartSpanning() { Name = "4", Amount = y[3] });
lijst_spanning.Add(new StartSpanning() { Name = "5", Amount = y[4] });
lijst_spanning.Add(new StartSpanning() { Name = "6", Amount = y[5] });
lijst_spanning.Add(new StartSpanning() { Name = "7", Amount = y[6] });
看起來y已在initI2c方法中聲明,因此無法從LoadChartContents方法中調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.