.NET 4.x Не отправляются данные в HID устройство - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Пару дней пытаюсь пообщаться с HID устройством. Но пока получилось только принять данные и то с библиотекой, в которой нет событий по приему... Сейчас пробую по этой статье сделать http://microsin.net/programming/PC/h...et-csharp.html . Получился следующий код:
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. byte[] mass = new byte[2] { 07, 00 };
  4. USBHIDDRIVER.USBInterface usb = new USBInterface("vid_0590","pid_0028");
  5. this.richTextBox1.Lines = usb.getDeviceList();
  6. if (usb.Connect())
  7. {
  8. MessageBox.Show( usb.write(mass).ToString());
  9. MessageBox.Show("OK");
  10. }
  11. else
  12. {
  13. MessageBox.Show("NOT OK");
  14. }
  15. }
При попытки записи байтового массива возвращается False. Т.е. ничего не записалось. Без каких либо пояснений... Подскажите что не так делаю? Из делфи общался с этим же устройством, отправляя ему массив из 2 байт минимум. максимум - 8. И работало, а тут понять не могу, что не так делаю... Подскажите пожалуйста, как общаться с устройством
Вот полный код, который принимает данные, но с отправкой никак не получается. Постоянно возвращает FALSE
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using USBHIDDRIVER;
  11. namespace WindowsFormsApplication13
  12. {
  13. public partial class Form1 : Form
  14. {
  15. public delegate void print_data(byte[] test);
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. }
  20. public void Print_data(byte[] test)
  21. {
  22. richTextBox1.AppendText("\n");
  23. richTextBox2.AppendText("\n");
  24. for (int i = 0; i < 9; i++)
  25. {
  26. richTextBox1.AppendText(test[i].ToString("X2"));
  27. richTextBox1.AppendText(" ");
  28. richTextBox2.AppendText(Convert.ToString((char)test[i]));
  29. richTextBox2.AppendText(" ");
  30. }
  31. }
  32. private void data(object sender, EventArgs e)
  33. {
  34. USBHIDDRIVER.List.ListWithEvent test = (USBHIDDRIVER.List.ListWithEvent)sender;
  35. print_data Delegate = new print_data(Print_data);
  36. byte[] t = new byte[9];
  37. t = (byte[])test[test.Count-1];
  38. this.Invoke(Delegate,t);
  39. }
  40. private void button1_Click(object sender, EventArgs e)
  41. {
  42. byte[] mass = new byte[] { 00,07, 00,00,00,00,00,00,00 };
  43. USBHIDDRIVER.USBInterface usb = new USBInterface("vid_0590","pid_0028");
  44. usb.enableUsbBufferEvent(new System.EventHandler(data));
  45. usb.startRead();
  46. this.richTextBox1.Lines = usb.getDeviceList();
  47. if (usb.Connect())
  48. {
  49. //Delegate(10);
  50. MessageBox.Show( usb.write(mass).ToString());
  51. //MessageBox.Show("OK");
  52. }
  53. else
  54. {
  55. MessageBox.Show("NOT OK");
  56. }
  57. }
  58. }
  59. }

Решение задачи: «.NET 4.x Не отправляются данные в HID устройство»

textual
Листинг программы
  1. USBHIDDRIVER.USBInterface usb = new USBInterface("vid_"+vid_pid.Vid,"pid_"+vid_pid.Pid);
  2. usb.enableUsbBufferEvent(new System.EventHandler(data));
  3. usb.startRead();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы