Форум программистов, компьютерный форум CyberForum.ru

Ошибка в коде - C++

Восстановить пароль Регистрация
 
Сергей1980_
0 / 0 / 0
Регистрация: 12.03.2014
Сообщений: 10
12.03.2014, 15:43     Ошибка в коде #1
Продублирую тему здесь, но в другом ключе.
Я новичок в с++. Пишу на QT.

Вот часть кода. Подскажите мне мои ошибки, с точки зрения кода.
Я думаю, что я указал неверно пару параметров или просто написал ерунду.
handle и 0x05 заданы верно, хоть в коде это не указано.
Возможно, другие параметры неверны или не имеют смысла.

C++ (Qt)
1
2
3
4
5
int ret;
static const int buffer_data=1;
unsigned char buffer[buffer_data];
static int transferred=1;
ret = libusb_bulk_transfer(handle,0x05,buffer,1, &transferred,1000);

Кратко о функции, если надо.
C++ (Qt)
1
2
3
4
5
6
7
int libusb_bulk_transfer    (   struct libusb_device_handle *   dev_handle,
unsigned char   endpoint,
unsigned char *     data,
int     length,
int *   transferred,
unsigned int    timeout 
)
Perform a USB bulk transfer.

The direction of the transfer is inferred from the direction bits of the endpoint address.

For bulk reads, the length field indicates the maximum length of data you are expecting to receive. If less data arrives than expected, this function will return that data, so be sure to check the transferred output parameter.

You should also check the transferred parameter for bulk writes. Not all of the data may have been written.

Also check transferred when dealing with a timeout error code. libusb may have to split your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the timeout may expire after the first few chunks have completed. libusb is careful not to lose any data that may have been transferred; do not assume that timeout conditions indicate a complete lack of I/O.

Parameters:
dev_handle a handle for the device to communicate with
endpoint the address of a valid endpoint to communicate with
data a suitably-sized data buffer for either input or output (depending on endpoint)
length for bulk writes, the number of bytes from data to be sent. for bulk reads, the maximum number of bytes to receive into the data buffer.
transferred output location for the number of bytes actually transferred.
timeout timeout (in millseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.
Returns:
0 on success (and populates transferred)
LIBUSB_ERROR_TIMEOUT if the transfer timed out (and populates transferred)
LIBUSB_ERROR_PIPE if the endpoint halted
LIBUSB_ERROR_OVERFLOW if the device offered more data, see Packets and overflows
LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
another LIBUSB_ERROR code on other failures
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 15:43     Ошибка в коде
Посмотрите здесь:

ОШибка в коде. C++
Ошибка в коде? C++
ошибка в коде C++
C++ Ошибка в коде
C++ ошибка в коде ?
C++ Ошибка в коде
C++ Ошибка в коде
Ошибка в коде C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 17:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru