2016-02-20 133 views
0

1.我嘗試使用Raspberry Pi作爲主設備,並將PIC16F1847作爲從設備。 從站向主站發送50個字節。 但是,我遇到了C#編程的問題。 向下的C#代碼不被接受,即「y」陣列。 任何人都可以幫忙嗎? 2,本是代碼:Windows iot(c#) - Raspberry PI - I2C

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] });   
+0

究竟是什麼意思?「不接受C#代碼是不被接受的,」y「 - 陣列。」? – yaakov

+0

y [0],y [1],y [2],ec ..是紅色下劃線。 – JohanXR

回答

1

它看起來像Y已被該initI2c方法因此不能從LoadChartContents方法來調用內部聲明。