.NET 4.x Не отправляются данные в HID устройство - C#
Формулировка задачи:
Добрый день. Пару дней пытаюсь пообщаться с HID устройством. Но пока получилось только принять данные и то с библиотекой, в которой нет событий по приему...
Сейчас пробую по этой статье сделать http://microsin.net/programming/PC/h...et-csharp.html .
Получился следующий код:
При попытки записи байтового массива возвращается False. Т.е. ничего не записалось. Без каких либо пояснений... Подскажите что не так делаю?
Из делфи общался с этим же устройством, отправляя ему массив из 2 байт минимум. максимум - 8. И работало, а тут понять не могу, что не так делаю... Подскажите пожалуйста, как общаться с устройством
Листинг программы
- private void button1_Click(object sender, EventArgs e)
- {
- byte[] mass = new byte[2] { 07, 00 };
- USBHIDDRIVER.USBInterface usb = new USBInterface("vid_0590","pid_0028");
- this.richTextBox1.Lines = usb.getDeviceList();
- if (usb.Connect())
- {
- MessageBox.Show( usb.write(mass).ToString());
- MessageBox.Show("OK");
- }
- else
- {
- MessageBox.Show("NOT OK");
- }
- }
Вот полный код, который принимает данные, но с отправкой никак не получается. Постоянно возвращает FALSE
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using USBHIDDRIVER;
- namespace WindowsFormsApplication13
- {
- public partial class Form1 : Form
- {
- public delegate void print_data(byte[] test);
- public Form1()
- {
- InitializeComponent();
- }
- public void Print_data(byte[] test)
- {
- richTextBox1.AppendText("\n");
- richTextBox2.AppendText("\n");
- for (int i = 0; i < 9; i++)
- {
- richTextBox1.AppendText(test[i].ToString("X2"));
- richTextBox1.AppendText(" ");
- richTextBox2.AppendText(Convert.ToString((char)test[i]));
- richTextBox2.AppendText(" ");
- }
- }
- private void data(object sender, EventArgs e)
- {
- USBHIDDRIVER.List.ListWithEvent test = (USBHIDDRIVER.List.ListWithEvent)sender;
- print_data Delegate = new print_data(Print_data);
- byte[] t = new byte[9];
- t = (byte[])test[test.Count-1];
- this.Invoke(Delegate,t);
- }
- private void button1_Click(object sender, EventArgs e)
- {
- byte[] mass = new byte[] { 00,07, 00,00,00,00,00,00,00 };
- USBHIDDRIVER.USBInterface usb = new USBInterface("vid_0590","pid_0028");
- usb.enableUsbBufferEvent(new System.EventHandler(data));
- usb.startRead();
- this.richTextBox1.Lines = usb.getDeviceList();
- if (usb.Connect())
- {
- //Delegate(10);
- MessageBox.Show( usb.write(mass).ToString());
- //MessageBox.Show("OK");
- }
- else
- {
- MessageBox.Show("NOT OK");
- }
- }
- }
- }
Решение задачи: «.NET 4.x Не отправляются данные в HID устройство»
textual
Листинг программы
- USBHIDDRIVER.USBInterface usb = new USBInterface("vid_"+vid_pid.Vid,"pid_"+vid_pid.Pid);
- usb.enableUsbBufferEvent(new System.EventHandler(data));
- usb.startRead();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д