Кто-нибудь успешно использовал библиотеку USB to Serial в ChibiOS?

Я использую операционную систему ChibiOS / RT, пытаясь заставить работать библиотеку USB to Serial. Мне удалось связать все файлы вместе, и это побежал с Ягарто. но я не могу даже использовать функцию запуска USB для последовательной библиотеки.

Я использую STM32F4 Discovery и хочу использовать его USB для подключения к ПК. Я сделал это с помощью класса CDC с IAR, но я хотел использовать ChibiOS для этого проекта, и все это кажется слишком сложным. (Я использовал ChibiOS, но только UART и некоторые порты, переключающие светодиоды и прочее).

Можете ли вы дать мне пример кода для запуска USB? Я не смог ничего найти.

sduStart( ??? , ??? ); // I saw what parameters it wants in there but I cannot figure what to actually put :/

0 ответов

Первый параметр - это указатель на SerialUSBDriver, определенный следующим образом:

SerialUSBDriver SDU1;

Второй параметр - это указатель на SerialUSBConfig, определенный следующим образом:

SerialUSBConfig SDU1_cfg = {                                                     
    .usbp     = &USBD1,      // USB driver to use                                
    .int_in   = CDC_IRQ_EP,  // Interrupt IN endpoint used for notifications        
    .bulk_in  = CDC_DATA_EP, // Bulk IN endpoint used for outgoing data transfer 
    .bulk_out = CDC_DATA_EP  // Bulk OUT endpoint used for incoming data transfer
};

Вы должны определить правильные номера конечных точек CDC_IRQ_EP и CDC_DATA_EP. В моем конкретном случае они определены следующим образом (но это не имеет значения):

#define CDC_IRQ_EP   6
#define CDC_DATA_EP  7

Поэтому рабочий вызов должен быть примерно таким:

sduStart(&SDU1, &SDU1_cfg);

Надеюсь это поможет.

Другие вопросы по тегам