台灣最大程式設計社群網站
線上人數
1028
 
會員總數:246691
討論主題:190104
歡迎您免費加入會員
討論區列表 >> C# >> (使用usb連線)並未將物件參考設定為物件的執行個體
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
(使用usb連線)並未將物件參考設定為物件的執行個體
價值 : 200 QP  點閱數:1454 回應數:3
樓主

4456
門外漢
0 1
6 0
發送站內信

我想將 txtSend的文字 傳入 我的usb接收裝置
我打的文字是 該裝置的scpi指令 ex: VOLT 5

請問為甚麼 我都會出現
並未將物件參考設定為物件的執行個體
我爬文 說是該new的物件沒有new
我用逐步執行 我還是不懂是甚麼沒有new

public partial class Form1 : Form
{
DateTime LastDataEventDate = DateTime.Now;
UsbDevice MyUsbDevice;
UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(0x164E, 0x258B);
UsbEndpointWriter writer = null ;
UsbEndpointReader reader = null;
UsbEndpointWriter writer1;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
writer1 = MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep03);
reader = MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep02);


}

private void button1_Click(object sender, EventArgs e)
{

// Find and open the usb device.
MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder);

}
private void btnSend_Click(object sender, EventArgs e)
{


int bytesWritten;
try
{
writer.Write(Encoding.Default.GetBytes(txtSend.Text), 2000, out bytesWritten);

}
catch (Exception ex)
{
MessageBox.Show("Error:" + ex.Message);
}
finally
{

}
}
}



搜尋相關Tags的文章: [ 並未將物件參考設定為物件的執行個體 ] ,
本篇文章發表於2017-10-24 22:20
1樓
不錯的參考

Ader Chen
檢舉此回應
不好意思, 我沒用過 LibUsbDotNet (我們大多使用原廠提供的方式),
所以以下姑且參考看看...
"並未將物件參考設定為物件的執行個體" 應該是指 Form1_Load 時還沒建立 MyUsbDevice 執行個體,
看您程式似乎是在 button1_Click 才會產生出來,
所以先將 Form1_Load 內的程式註解掉, 移到產生 MyUsbDevice 之後,
例如:


只是這樣就要注意順序, 先 button1_Click 再 btnSend_Click, ...測試時還好, 實用時最好修改嚴謹一點...
以上僅供參考...
本篇文章回覆於2017-10-25 00:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

Ader Chen
檢舉此回應
另外, 看程式 MyUsbFinder 在 Load 之前就 new 了,
所以或許也可以將 button1_Click 內的程式都移到 Form1_Load, 例如:

就不用擔心 btnSend_Click 順序.
當然, 我沒用過 LibUsbDotNet, 說不定會有其他問題... 姑且參考看看囉.
本篇文章回覆於2017-10-25 00:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Ader Chen
檢舉此回應
不好意思, 再囉嗦一下:
最好再加個找不到 USB device 時的處理,
例如在 MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder); 之後
加個 if (MyUsbDevice == null) 之類的處理程序.

我是蠻懷疑您之前說的 P9611A 能否接受這樣傳 SCPI 指令... 希望您成功.
本篇文章回覆於2017-10-25 00:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.