查看: 1030|回复: 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

主题

70

帖子

1000

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1000
发表于 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 | 显示全部楼层
感谢大佬 确实是这个设置
回复

使用道具 举报

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

本版积分规则

热门推荐

连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据
连接ADS1292模拟前端芯片
[md]连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据 ![QSJSBEZF83I8C907%$
宏定义为什么会报错
宏定义为什么会报错
[md]!(data/attachment/forum/202109/25/173426ma339t23hx9uqq2t.png?imageMogr2/auto
怎样找到这个库Adafruit_I2CDevice
怎样找到这个库Adafruit_I
[md].piolibdepsnucleo_g474reAdafruit GFX LibraryAdafruit_GrayOLED.h:30:10: f
Stduino Nano&Uno模拟量值读取之电位器(12位精确度)
Stduino Nano&Uno模拟量值
通过Stduino IDE编辑几行代码便实现电位器模拟量读取,并通过串口每隔1秒输出一次,并
今天在文涛老大的帮助下我的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的库。这里将
©2001-2018  Stduino官网  Powered by©Discuz!   ( 皖ICP备17011998号 )
快速回复 返回顶部 返回列表