Gast
#4786750
Guten Tag, Ich möchte das Protocol USB mit dem Board STM32F4 implementieren. Hier mein Code: uint8_t Data[] = "0123456789qwertzuioP"; int main(void) { HAL_Init(); /* Configure the system clock to 180 MHz */ SystemClock_Config(); MX_GPIO_Init(); /* Init Device Library */ USBD_Init(&USBD_Device, &VCP_Desc, 0); /* Add Supported Class */ USBD_RegisterClass(&USBD_Device, USBD_CDC_CLASS); /* Add CDC Interface Class */ USBD_CDC_RegisterInterface(&USBD_Device, &USBD_CDC_fops); /* Start Device Process */ USBD_Start(&USBD_Device); /* Run Application (Interrupt mode) */ while (1) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, 1); CDC_Transmit_FS(Data,strlen((const char*)Data)); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, 0); HAL_Delay(100); } } 1) Mein Problem liegt daran, dass wenn ich mehr als 97 Zeichen in Data[] sende, ist mein VCP nicht mehr im Computer erkennbar. Was kann es sein? 2) Wie könnte ich die Geschwindigkeit für das senden von einem Block messen? Hättet ihr eine Idee? Ich versuche mit einer I/O Pin die Dauer der Ausführung der Funktion CDC_Transmit_FS zu messen, aber hat das etwas mit der Geschwindigkeit der Übertragung etwas direkt zu tun? Vielen Dank