2016-02-20 2 views
0

1. Я пытаюсь использовать малину Pi в качестве мастера с PIC16F1847 в качестве раба. Ведомый отправляет 50 байт мастеру. Однако у меня проблема с программированием на C#. Вниз код C# не принимается, «y» -array. Может ли кто-нибудь помочь? 2.Это код:Windows iot (C#) - Малина 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 »-array."? – yaakov

+0

y [0], y [1], y [2], ec .. красная подчеркнута. – JohanXR

ответ

1

Похоже, у объявлен внутри метода initI2c, таким образом, он не может быть вызван из метода LoadChartContents.