Usb na stm32f103rbt6

Zdravim, chcem sa spytat niekoho

kto ma skusenost potreboval by som
Poradit ako implementovat usb komunikaciu
na stm32f103rbt6, potreboval by som mat
nejake funkcie na zapis a citanie jednak na uprocesore
a tak tiez na strane PC.

Bol by niekde nejaky sample projekt?

Pouzivam keil uvision.

Zdravim,

doplnujem otazku: stacil by mi example ako vytvorit
hid alebo aj ine standartne zariadenie a ako snim co
najjednoduchsie komunikovat s PC.
Mam stm32f103rb a keil uvision.

Dik

Zdravim. Chcem obnovit vlakno diskusie,
nevie mi niekto poradit sampel pre rozbehnutie
Usb rozhrania na stm32f103 ?

Dik

Ahoj, asi je uz otazka neaktualna, ale skusim pomoct.

Zakladne veci pre USB rozhranie si nastavis v STM32CubeMX.
Pre HID rozhranie (napr. klavesnica) je dobry navod v tomto videu, tiez som podla neho postupoval a nemal som ziaden problem: youtube.com/watch?v=qp4VBkrjF-0

Pises ale ze chces komunikovat obojsmerne. Cize asi najjednoduchsie virtual com port. Rovnako zacinas s STM32CubeMX. Tu si ale v konfiguracii zvolis Virtual com port usb rozhranie.
K tomuto ziadny link nemam, na disku som nasiel len kusok kodu co som skusal.
Odosielanie a prijek znakov sa robi v “usbd_cdc_if.c” (automaticky generovany z CubeMX, rovnako aj funkcie v kóde), nasledovne:

[code]static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t Len)
{
/
USER CODE BEGIN 6 */
if (Buf[0] == ‘1’)
{
HAL_GPIO_TogglePin(PC13_LED_GPIO_Port, PC13_LED_Pin);
char dataPinOn] = “LED ON\n\r”;
char dataPinOff] = “LED OFF\n\r”;
uint8_t pinState = HAL_GPIO_ReadPin(PC13_LED_GPIO_Port, PC13_LED_Pin);
//char data] if (pinState ? data = “PIN OFF\n\r” : data = “PIN ON\n\r”);
if (pinState) CDC_Transmit_FS((uint8_t *)dataPinOff, strlen(dataPinOff));
else CDC_Transmit_FS((uint8_t *)dataPinOn, strlen(dataPinOn));
}

USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
return (USBD_OK);
/* USER CODE END 6 */
}[/code]

ked budes chciet rozvinut diskusiu, napis.