Я работаю с Atmel Studio 7.0, код, который я использую: USB Класс коммуникационного устройства (CDC) для ATSAMD21 . Мое приложение - прочитать команду с хоста на устройство и выполнить операцию, предложенную хостом, и отправить подтверждение обратно на хост с устройства.
Java GUI, который мы записываем в MCU USB, мы будем получать данные в MCU, используя udi_cdc_read_buf () , и полученные данные мы отправляем обратно на хост JAVA в качестве подтверждения, используя udi_cdc_write_buf () .
1.Device Ожидание второй команды от хоста для отправки ответа на первую команду.
1-я команда от хоста ----> Не получено подтверждение от устройства к хосту
2-я команда от хоста ----> Хост получил подтверждение для 1-й команды.
3-я команда от хоста -----> Хост получил подтверждение 2-я команда.
- Здесь, если я отлаживаю код, я вижу данные "3434" в буфере. Устройство отправляет данные на хост только при получении других данных с хоста.
КОД SNIPPET
int write_data(uint8_t *msg){
uint8_t buffer[4]="3434";
udi_cdc_write_buf(buffer,4);
return (SUCCESS);
}
---> Как это происходит в USB-коммуникации? Я застрял с этим, любая помощь будет оценена.