Не удается прочитать полученные данные с помощью вызова чтения В USB CDC Serial ATSAMA5D36: - PullRequest
0 голосов
/ 11 октября 2018

Я связал плату разработки ATSAMA5D36 с графическим интерфейсом, используя USB CDC Serial.

Требование:

-Читать идентификатор от GU (1) I -> Отправить ответ (2) -> Считать полученный ответ (3).

-Мне нужно получить идентификатор, который отправляется с помощью графического интерфейса, и отправить ответ обратно с помощью записи вызова и прочитать полученные данные для ответа.

  • Проблема:

- Ошибка чтения данных при втором вызове чтения - «Чтение полученного ответа (3). '

КОД SNIPPET 1:

while(1){ 
if(usb_serial_read == 1) 
CDCDSerialDriver_Read(usbBuffer,DATAPACKETSIZE, (TransferCallback) 
                               _UsbDataReceived,&usb_serial_read);} 
  • Это мой первый вызов для чтения. Я получаю ID этого вызова для чтения, он находится впока цикл.
  • Если я получаю идентификатор, мне нужно отправить данные, которые соответствуют полученному идентификатору, путем записи вызова, в другой функции

КОД SNIPPET 2:

int data_to_send(uint8_t* msg) 
{ 
uint32_t received=20; 
wifi_info_t Wifi_Param; 
strcpy(Wifi_Param.WifiApn,"SEND_DATA"); 
char tempBuffer[100]; 
strcpy(tempBuffer,Wifi_Param.WifiApn); 
memcpy((uint8*)usbBuffer,tempBuffer,sizeof(usbBuffer)); 
CDCDSerialDriver_Write(usbBuffer, received, 0, 0); //SEND DATA TO GUI 
memset(usbBuffer,0,sizeof(usbBuffer)); 
CDCDSerialDriver_Read(usbBuffer,DATAPACKETSIZE, (TransferCallback) 
_UsbDataReceived1,0); // READ RESPONSEF ROM GUI 
return (SUCCESS); 
} 
  • Здесь, в моем приложении, не удается прочитать «READ RESPONSE FROM GUI» при вызове чтения.

  • Мне нужно прочитать ответ на вызов read в этой функции read read ничего не читает.

  • Ответ читается вызовом чтения в цикле while "CODE SNIPPET 1".

  • Мне нужно сделать так, чтобы при вызове чтения в функции "int data_to_send (uint8_t * msg)" нужно было прочитать ответ из GUI.

МОИ ПРОБЫ:

  • Здесь мое первое чтение должно быть внутри, в то время как () я не могу изменить, что этодля поддержания устройства в рабочем состоянии.
  • Второй вызов чтения в функции. Я добавил его через некоторое время и проверил, что он не читает никаких данных.

  • Это не проблема с файлами и заголовками, я добавил все на основной.

Пожалуйста, проверьте проблему и дайте мне решение, любая помощь будет оценена.

Заранее спасибо

...