in data 09-29-2017 05:56 AM
Salve a tutti.
Sto utilizzando lo strumento usb 6509. Fino ad ora ho utilizzato tutti i pin come output e non ho avuto problemi. Ora, per esigenze di progetto, mi ritrovo a gestire un pin come input per effettuare la lettura di una eeprom. Il problema che ho è che quando vado a richiamare la funzione di lettura, i pin di uscita (chipselect) vanno a 0 creandomi problemi. Questo è il mio codice:
private struct PortPinSettingRead { public DigitalSingleChannelReader reader; public Task digitalInputReadTask; public UInt32 pin; } PortPinSettingRead portPinSettingRead; portPinSettingRead.digitalInputReadTask = new Task(); portPinSettingRead.digitalInputReadTask.DIChannels.CreateChannel("dev1/port11/line3", "", ChannelLineGrouping.OneChannelForEachLine); portPinSettingRead.digitalInputReadTask.Control(TaskAction.Verify); portPinSettingRead.reader = new DigitalSingleChannelReader(portPinSettingRead.digitalInputReadTask.Stream); //READING public int readDI(){ try { return portPinSettingRead.reader.ReadSingleSamplePortInt32(); } catch (Exception ex) { System.Console.WriteLine(ex.Message); return -1; } }
Dove sbaglio? C'è qualcosa che mi sfugge?
Grazie
in data 10-18-2017 07:51 AM
Ciao chino5,
E' effettivamente un comportamento un po' strano. Ti suggerirei di verificarlo anche con gli esempi C# che puoi trovare nella cartella C:\Users\Public\Documents\National Instruments\NI-DAQ\Examples\DotNET4.5.1\Digital
Noti lo stesso comportamento?