Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2016, 18:20   #11
Ybrjkfif
 
Регистрация: 26.09.2016
Сообщений: 8
По умолчанию

Спасибо, WorldMaster!
Ybrjkfif вне форума Ответить с цитированием
Старый 19.10.2016, 18:59   #12
Ybrjkfif
 
Регистрация: 26.09.2016
Сообщений: 8
По умолчанию

WorldMaster, прошу прощения за глупость, наверное, но как обратиться к самому событию приёма?

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Да сделайте вы вот так:
Код:
byte[] Data = args.data; /
Ybrjkfif вне форума Ответить с цитированием
Старый 19.10.2016, 19:20   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А что такое "само событие приема" и зачем к нему обращаться?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.10.2016, 20:10   #14
Ybrjkfif
 
Регистрация: 26.09.2016
Сообщений: 8
По умолчанию

Вот,собственно "событие приёма". Его нужно вызвать, чтобы записать массив с принятыми от HID-устройства данными.

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Код:
// событие приема
private void USB1_OnDataRecieved(object sender, DataRecievedEventArgs args)
        {
            Data.Input = args.data; // принимаем данные 64 байта            
        }
Ybrjkfif вне форума Ответить с цитированием
Старый 19.10.2016, 20:15   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так его не надо вам вызывать, только подписать на него.
Что-то типа
Код:
myUsbObject.DataRecieved += OnDataRecieved;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.10.2016, 20:41   #16
Ybrjkfif
 
Регистрация: 26.09.2016
Сообщений: 8
По умолчанию

Не получается подписаться на событие. Высылаю код, так как уже не могу понять как реализовать получение данных.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UsbLibrary;

namespace ConsoleApplication_HID
{
    
    class Program
    {
        byte[] Data = new byte[64];

        public static void Main(string[] args)
        {
            UsbHidPort USB1 = new UsbHidPort();

            USB1.ProductId = Convert.ToInt16("0x17E0", 16);
            USB1.VendorId = Convert.ToInt16("0x0B05", 16);
            USB1.OnDataRecieved += USB1_OnDataRecieved; //Подписываюсь, но делаю что-то не так, поэтому компьютер меня не понимает.
        }
        
        private void USB1_OnDataRecieved(object sender, DataRecievedEventArgs args)
        {
            Data = args.data;
        }
    }
}
Ybrjkfif вне форума Ответить с цитированием
Старый 19.10.2016, 20:50   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас нет экземпляра класса Program, естественно вы не можете обратиться к не статическому методу.
нужен статический метод в таком случае.

может быть сначала базовое ООП подтянуть?
пример работал, потому что там был WinForms, и там мы работаем с экземпляром формы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.10.2016, 17:10   #18
Ybrjkfif
 
Регистрация: 26.09.2016
Сообщений: 8
По умолчанию

Доброго времени суток, в том то и дело, что я недавно начал изучать ООП, поэтому пишу на Форум. Можете подсказать, как сейчас реализовать в консоли данное приложение?

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
у вас нет экземпляра класса Program, естественно вы не можете обратиться к не статическому методу.
нужен статический метод в таком случае.

может быть сначала базовое ООП подтянуть?
пример работал, потому что там был WinForms, и там мы работаем с экземпляром формы.
Ybrjkfif вне форума Ответить с цитированием
Старый 20.10.2016, 18:51   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вторая строка моего ответа...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не получается линкнуть hid.dll wanes101 Visual C++ 3 05.01.2016 09:39
USB ручной сканер. Перехват данных в HID режиме VitalyaVentel Общие вопросы Delphi 14 28.11.2012 09:31
Чтение файла с использованием TFileStream Desha Помощь студентам 0 13.05.2011 22:18
Проблема с использованием Net Use Rovert Операционные системы общие вопросы 2 21.07.2010 07:39
Многопоточный код на C++ с использованием .NET UltroMain Общие вопросы .NET 1 27.12.2009 23:20