2017-06-09 2 views
2

J'utilise ce code mais ne fonctionne pas et ne lance pas cette exception: Référence d'objet non définie sur une instance d'un objet périphériques [0] me donnant une valeur nulle.Communication de port série UWP pour écriture et lecture de caractères (UWP et Arduino)

private async void ConnectToSerialPort() 
    { 
     string selector = SerialDevice.GetDeviceSelector("COM7"); 
     DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(selector); 
     if (devices.Count > 0) 
     { 
      DeviceInformation deviceInfo = devices[0]; 
      SerialDevice serialDevice = await SerialDevice.FromIdAsync(deviceInfo.Id); 
      Debug.WriteLine(serialDevice); 
      serialDevice.BaudRate = 9600; 
      serialDevice.DataBits = 8; 
      serialDevice.StopBits = SerialStopBitCount.Two; 
      serialDevice.Parity = SerialParity.None; 

      DataWriter dataWriter = new DataWriter(serialDevice.OutputStream); 
      dataWriter.WriteString("your message here"); 
      await dataWriter.StoreAsync(); 
      dataWriter.DetachStream(); 
      dataWriter = null; 
     } 
     else 
     { 
      MessageDialog popup = new MessageDialog("Sorry, no device found."); 
      await popup.ShowAsync(); 
     } 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     ConnectToSerialPort(); 
    } 

S'il vous plaît aidez-moi à supprimer cette erreur s'il vous plaît, je vous en serai très reconnaissant. s'il vous plaît aider :(

+0

quelle ligne est l'exception produit sur –

+0

serialDevice? est en donnant des exceptions nulles ... – Softdeveloper

+0

s'il vous plaît modifier votre question pour ajouter ce détail –

Répondre

5

Vous avez besoin d'ajouter des capacités de périphérique série Package.appxmanifest comme ceci:.

<Capabilities> 
    <DeviceCapability Name="serialcommunication"> 
     <Device Id="any"> 
     <Function Type="name:serialPort" /> 
     </Device> 
    </DeviceCapability> 
    </Capabilities> 

Pour plus d'informations, vous pouvez faire référence Serial device capability usage