Jump to content

    
Sign in to follow this  
ichthyandr

stm32 usb otg dual role (hal, cubemx)

Recommended Posts

Всем привет.

Сделал по отдельности хост, девайс usb-midi, работает.

Нужно всё это слить воедино для otg. Куб генерит "пустой" проект (cmsis, hal) и пустая ф-ция в мейне MX_USB_OTG_FS_USB_Init();

в интернетах пока нашел только ЭТО

Кто сталкивался, куда копать?

 

Спасибо.

 

Share this post


Link to post
Share on other sites
1 hour ago, gosha-z said:

Замечательно, проц знает. А схема, на которой этот проц стоит?

по схеме есть, но куб не генерит заготовку для usb otg, нет драйверов, вот в чем вопрос

Share this post


Link to post
Share on other sites
On 7/11/2020 at 1:03 PM, golf2109 said:

а в project example есть такое?

я когдато искал как с помощью куба создать

composite device и не нашел...

 

не совсем понятен термин "Dual Role". посмотрел исходники, при выборе этого варианта из проекта исключается всё, что связано с usb. Примеров не нашел, а вот в библиотеке с spl есть, но с меня требуют hal.

И еще один момент, когда делаю вручную композит хоста и девайса, конфликтуют HAL_HCD (для хоста) и HAL_PCD(для девайса), хост работает, девайс нет, даже если явно деинициализировать хост 

Share this post


Link to post
Share on other sites

Вобщем решил проблему, в композитном проекте (который делал вручную) надо irq хендлер прописать правильно (у меня в stm32f1xx_it.c):

 

void OTG_FS_IRQHandler(void)
{
  /* USER CODE BEGIN OTG_FS_IRQn 0 */
	if (HOST == role){
		HAL_HCD_IRQHandler(&hhcd_USB_OTG_FS);
	}
	else if (DEVICE == role){
		HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS);
	}
	return;
  /* USER CODE END OTG_FS_IRQn 0 */

  /* USER CODE BEGIN OTG_FS_IRQn 1 */

  /* USER CODE END OTG_FS_IRQn 1 */
}

 

Edited by ichthyandr

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this