Я пытаюсь установить sh соединение USB между P C и MCU STM32. Я хочу получить целое число от P C. (диапазон целого числа от 0 до 20.000). Я добавил эти строки:
К usb_cdc_if.h:
_weak void CDC_ReceiveCallBack(uint8_t *buf, uint32_t len);
К usb_cdc_if. c
static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
{
/* USER CODE BEGIN 6 */
USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
CDC_ReceiveCallBack(Buf, Len);
return (USBD_OK);
/* USER CODE END 6 */
}
.
.
.
__weak void CDC_ReceiveCallBack(uint8_t *buf, uint32_t len)
{}
И в основном классе:
void CDC_ReceiveCallBack(uint8_t *buf, uint32_t len)
{
fan_speed=atoi(buf);
memset(statusString,0x00,255);
statusStringLength = sprintf(statusString,"Fan Speed: %d ", fan_speed);
CDC_Transmit_FS(statusString,statusStringLength);
}
Так что я могу получить только 1 ди git номеров. Должен ли я добавить оператор if в начало функции, и когда нажата клавиша enter, я должен получить его из буфера?