查看: 401|回复: 3

如何实现stm32arduino在官方ide里的tools中的usb设置?

[复制链接]

1

主题

5

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2021-6-16 01:32:42 | 显示全部楼层 |阅读模式

在官方ide里添加了stm32官方arduino库之后会有tool选项,这个会影响有usb的库的条件编译

pio里没有这个设置,要怎么自定义宏的值?

Cache_-3560e4ea39f8528b..jpg

image.png

usbcon 跟usbd-use-cdc 应该设置成啥?

回复

使用道具 举报

1

主题

5

帖子

31

积分

新手上路

Rank: 1

积分
31
 楼主| 发表于 2021-6-16 01:48:08 | 显示全部楼层
我在库里这个位置  C:\Users\kyo\AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.0.0\tools里的platformio-build。py文件里找到了tools的设置定义  
def process_usb_configuration(cpp_defines):
    if "PIO_FRAMEWORK_ARDUINO_ENABLE_CDC" in cpp_defines:
        env.Append(CPPDEFINES=["USBD_USE_CDC"])

    elif "PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_WITHOUT_SERIAL" in cpp_defines:
        env.Append(CPPDEFINES=["USBD_USE_CDC", "DISABLE_GENERIC_SERIALUSB"])

    elif "PIO_FRAMEWORK_ARDUINO_ENABLE_HID" in cpp_defines:
        env.Append(CPPDEFINES=["USBD_USE_HID_COMPOSITE"])

    if any(
        d in cpp_defines
        for d in (
            "PIO_FRAMEWORK_ARDUINO_ENABLE_CDC",
            "PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_WITHOUT_SERIAL",
            "PIO_FRAMEWORK_ARDUINO_ENABLE_HID",
        )
    ):
        env.Append(
            CPPDEFINES=[
                "USBCON",
                ("USB_VID", board.get("build.hwids", [[0, 0]])[0][0]),
                ("USB_PID", board.get("build.hwids", [[0, 0]])[0][1]),
            ]
        )

    if any(f in env["CPPDEFINES"] for f in ("USBD_USE_CDC", "USBD_USE_HID_COMPOSITE")):
        env.Append(CPPDEFINES=["HAL_PCD_MODULE_ENABLED"])
不过这个要怎么在pio中使用?
回复

使用道具 举报

27

主题

58

帖子

878

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
878
发表于 2021-6-16 10:33:16 | 显示全部楼层
413777719 发表于 2021-6-16 01:48
我在库里这个位置  C:%users\kyo\AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2. ...

在platformio.ini文件中进行增加下面代码试下吧
  1. build_flags =
  2.     -D USBD_USE_CDC
  3.     -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
  4.     -D PIO_FRAMEWORK_ARDUINO_USB_FULLMODE
  5.     -D USBCON
复制代码


回复

使用道具 举报

1

主题

5

帖子

31

积分

新手上路

Rank: 1

积分
31
 楼主| 发表于 2021-6-17 00:36:16 | 显示全部楼层
感谢大佬 确实是这个设置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

今天在文涛老大的帮助下我的stm32zet6终于把simlpefoc库跑起...
今天在文涛老大的帮助下我
[md]首先本身是刚刚从MDK转到arduino过来的新人,只因为要完开源的simplefoc,期间由
Stduino UNO mini与7线oled显示屏实现Message Box
Stduino UNO mini与7线ole
[md]手头上有块7线的Oled显示屏一直想用stm32驱动下,正好现在通过Stduino UNO mini和
DS1302时钟库分享
DS1302时钟库分享
大家好,最近发现IDE自身的库没有DS1302,因此依据网上的资料写了DS1302的库。这里将
如何实现stm32arduino在官方ide里的tools中的usb设置?
如何实现stm32arduino在官
[md]在官方ide里添加了stm32官方arduino库之后会有tool选项,这个会影响有usb的库的条
stm32 小蓝板快速点亮一颗LED灯(一),无需刷Bootloader
stm32 小蓝板快速点亮一颗
关键词:stm32 小蓝板 STM32F103C8T6 Stduino IDE Stduino Nano 点亮一颗LED灯 通过St
下载库并打开示例教程Arduino框架
下载库并打开示例教程Ardu
[md]注意是Arduino框架!Arduino框架!Arduino框架下! 在对应项目工作空间安装库后,如
37种传感器(五)热敏电阻模块+Stduino Nano&UNO
37种传感器(五)热敏电阻
Stduino Uno/Nano-37种传感器(五)热敏电阻模块 关键词:51 stm32 arduino stduino
©2001-2018  Stduino官网  Powered by©Discuz!   ( 皖ICP备17011998号 )
快速回复 返回顶部 返回列表