打印
[STM32H5]

在STM32cubeide里面可以方便快捷的开发一个USB

[复制链接]
763|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小兔兔啊|  楼主 | 2024-11-13 23:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 小兔兔啊 于 2024-11-13 23:50 编辑

在STM32cubeide里面可以方便快捷的开发一个USB

使用特权

评论回复
沙发
哈根达斯uz| | 2024-11-14 21:33 | 只看该作者
STM32cubeide里面可以方便快捷

使用特权

评论回复
板凳
tpgf| | 2024-12-3 12:44 | 只看该作者
/* Includes ------------------------------------------------------------------*/
#include "usbdfu.h"

/* Private variables ---------------------------------------------------------*/
USBD_HandleTypeDef hUsbDeviceFS;

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USB_DEVICE_Init(void);

int main(void)
{
    /* MCU Configuration--------------------------------------------------------*/
    SystemClock_Config();
    MX_GPIO_Init();
    MX_USB_DEVICE_Init();

    /* Start USB Device */
    if (HAL_USB_Start(&hUsbDeviceFS) != HAL_OK)
    {
        Error_Handler();
    }

    /* Infinite loop */
    while (1)
    {
        // User code here
    }
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
    // System Clock configuration code here
}

/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{
    // GPIO initialization code here
}

/**
  * @brief USB device initialization function
  * @param None
  * @retval None
  */
static void MX_USB_DEVICE_Init(void)
{
    hUsbDeviceFS.Instance = USB_OTG_FS;
    hUsbDeviceFS.Init.Dev_endpoints = 6;
    hUsbDeviceFS.Init.Speed = BOTH;
    hUsbDeviceFS.Init.Mode = DEFAULT;
    hUsbDeviceFS.Init.Phy_itface = HAL_PHY_ITFACE_EMBEDDED;
    hUsbDeviceFS.Init.Data_start0 = 0x80;
    hUsbDeviceFS.Init.Data_start1 = 0x80;
    hUsbDeviceFS.Init.Data_start2 = 0x80;
    hUsbDeviceFS.Init.Data_start3 = 0x80;
    hUsbDeviceFS.Init.FIFO_size = FIFO_SIZE_16BYTES;
    hUsbDeviceFS.Init.FIFO_queue_size = FIFO_QUEUE_1;
    hUsbDeviceFS.Init.Quantum = 1;
    hUsbDeviceFS.Init.Use_dedicated_ep1 = ENABLE;
    hUsbDeviceFS.Init.Low_power_enable = ENABLE;
    if (HAL_USB_Init(&hUsbDeviceFS) != HAL_OK)
    {
        Error_Handler();
    }
}

使用特权

评论回复
地板
观海| | 2024-12-5 17:28 | 只看该作者
[size=0.875]PinOut 选项卡中,找到 [size=0.875]Connectivity 部分,勾选 [size=0.875]USB_OTG 以启用USB功能

使用特权

评论回复
5
guanjiaer| | 2024-12-5 19:11 | 只看该作者
如果需要处理USB事件,可以在 [size=0.875]Core/Src/gd32f10x_it.c 文件中添加相应的中断服务程序

使用特权

评论回复
6
heimaojingzhang| | 2024-12-5 21:01 | 只看该作者
根据需要修改 [size=0.875]usbdfu.c 中的函数来实现特定的USB功能(如枚举、数据传输等)

使用特权

评论回复
7
keaibukelian| | 2024-12-5 22:49 | 只看该作者
确保正确配置了USB相关的引脚(如VBUS、DM、DP等)

使用特权

评论回复
8
paotangsan| | 2024-12-6 10:31 | 只看该作者
如果编译成功,使用STM32CubeProgrammer或其他烧录工具将程序烧录到开发板上

使用特权

评论回复
9
和下土| | 2024-12-30 23:52 | 只看该作者
在 STM32CubeIDE 中开发 USB 设备功能是非常方便的,STM32CubeIDE 集成了 STM32CubeMX 配置工具,可以通过图形化配置外设,并生成代码框架,从而加速 USB 功能的开发。

使用特权

评论回复
10
慢动作| | 2024-12-31 00:11 | 只看该作者
在STM32CubeIDE中开发USB功能相对简单

使用特权

评论回复
11
申小林一号| | 2024-12-31 16:09 | 只看该作者
感谢分享,学习一下

使用特权

评论回复
12
公羊子丹| | 2025-1-24 09:37 | 只看该作者
是的,STM32CubeIDE确实很方便,USB的开发可以通过它快速生成相关的代码框架。

使用特权

评论回复
13
周半梅| | 2025-1-24 09:39 | 只看该作者
在CubeIDE里配置USB外设也挺直观的,你可以在配置向导中选择USB主机或设备模式。

使用特权

评论回复
14
帛灿灿| | 2025-1-24 09:40 | 只看该作者
CubeIDE有自动生成USB设备中断和回调函数的功能,你直接在代码中就能看到相关模板。

使用特权

评论回复
15
童雨竹| | 2025-1-24 09:41 | 只看该作者
如果你想做USB通信,CubeMX里可以帮你快速设置USB的功能,比如CDC类或HID类。

使用特权

评论回复
16
万图| | 2025-1-24 09:43 | 只看该作者
如果你是在做USB主机,记得选好对应的驱动,CubeIDE可以自动帮助你配置好。

使用特权

评论回复
17
Wordsworth| | 2025-1-24 09:44 | 只看该作者
你可以通过STM32CubeMX配置USB外设,之后直接在CubeIDE里打开项目,进行更细致的开发。

使用特权

评论回复
18
Bblythe| | 2025-1-24 09:45 | 只看该作者
USB的开发不难,但需要留意传输速度和协议的细节,CubeIDE可以帮你减少很多重复的工作。

使用特权

评论回复
19
Pulitzer| | 2025-1-24 09:47 | 只看该作者
确保你的STM32H5的USB硬件连接没问题,CubeIDE会帮助你处理一些驱动和协议层的细节。

使用特权

评论回复
20
Uriah| | 2025-1-24 09:48 | 只看该作者
STM32CubeIDE里也有一些USB示例程序,直接用上这些可以大大缩短开发周期。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

16

帖子

0

粉丝