Как отправить данные через USB?

85
04 марта 2022, 17:10

Я хочу отправить данные через USB на Arduino. Сам микроконтроллер запрограммирован ждать сигнал с serial-порта. Я пытаюсь сделать это при помощи libusb, но что-то не работает, хотя компилируется без ошибок. Подскажите пожалуйста, может я пропустила какой-то необходимый шаг?

edit: На плате есть микросхема CH340G – преобразователь интерфейса USB в UART.

#include <string.h>
#include <stdint.h>
#include "libusb.h"

int main(int argc, char* argv[])
{
    int r;
    r = libusb_init(NULL);
    if (r < 0)
        return r;

    libusb_device_handle* dev_handle;
    dev_handle = libusb_open_device_with_vid_pid(NULL, 6790, 29987);
    unsigned char data = 1;
    int act_length;
    unsigned char endpoint = (0x02 | LIBUSB_ENDPOINT_OUT);
    libusb_claim_interface(dev_handle, 0x00);
    libusb_bulk_transfer(dev_handle, endpoint, &data, sizeof(data), &act_length, 15);
    libusb_exit(NULL);
    return 0;
}
Answer 1

Открываете виртуальный COM-порт как терминал и пишете в него команды.

READ ALSO
Расшифровка названий C++

Расшифровка названий C++

Есть ли сайт где указаны все расшифровки названий для C++ (например как расшифровывается cout = console output; endl = end line; iostream = input output stream и тд

80
rvalue в параметр функции

rvalue в параметр функции

У меня имеется unique_ptr, который передаётся в функцию по значению

57
Как остановить поток?

Как остановить поток?

Как сделать чтоб поток переставал выполняться когда ЛКМ перестает быть зажата? Есть такой код:

95
Есть ли альтернатива for?

Есть ли альтернатива for?

Мне нужно вывести максимальное число из динамического массива, а как это сделать я понятия не имеюЦикл for не удобен

103