请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
STMCU-管管

STMCU-管管

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
256 回答

【2025.04.30】每日签到:五一假期愉快!记得参加:板卡活动&线下活动&线上直播!

签到
STMCU-管管 STMCU-管管 回答时间:2025-5-6 08:41

刚搞过的,可以再找我申请

赞0
5 回答

Demo 例程

STM32H7
STMCU-管管 STMCU-管管 回答时间:2025-4-25 15:27

你先下载STM32H7系列的cube库后就可以找到针对该开发板的例程。下载的话可以到www.st.com/stm32搜索stm32cubeH7.

赞1
104 回答

【2025.04.25】每日签到:ST舰级NFC读卡器ST25R300发布|【STM32MP2 RIF线上课程】已更新

签到
STMCU-管管 STMCU-管管 回答时间:2025-4-25 09:32

五一去哪玩

赞0
1 回答

stellar studio

硬件开发工具
STMCU-管管 STMCU-管管 回答时间:2025-4-25 08:38

检查一下你的路径,编译器可能无法解析含空格或中文字符的路径。或者看一下电脑系统是不是有冲突。

赞0
3 回答

STM32C0x的最新数据手册在哪里下载

STM32C0
STMCU-管管 STMCU-管管 回答时间:2025-4-21 20:24

可以参考STM32C0x的

赞0
3 回答

STM32MP157D-DK1与STM32MP157F-DK2重大区别和推荐选择哪块板子,想做智能家居方面的,

STM32MP1 GUI(人机界面) STM32CubeMX 智能家居 嵌入式大赛
STMCU-管管 STMCU-管管 回答时间:2025-4-21 17:19

整体来说都是STM32MP1系列的板子,要看你智能家居那个应用,两块板子的资源肯定都是足够用的,如果你想做控制面板加一点GUI进去,DK2会更方便点

赞1
1 回答

Group Study vs. Solo Study: What Works Best?

STM32G0
STMCU-管管 STMCU-管管 回答时间:2025-4-21 17:22

Hey, thanks for sharing these insights on the benefits of group study. The forum is a tech community, so feel free to share more tech-related stuff.

赞0
1 回答

关于NFC系列产品的疑惑

ST25R-NFC/RFID读写器 ST25T-NFC/RFID标签 ST25
STMCU-管管 STMCU-管管 回答时间:2025-4-18 08:32

问题好像不完整

赞0
2 回答

求助 nucleo STM32F303re上电后led1和led3亮,但cubepogrammer显示无3.3v电压是怎么回事?

开发板
STMCU-管管 STMCU-管管 回答时间:2025-4-17 16:47

哪能识别到ST-LINK吗?

赞0
2 回答

正点原子阿波罗H743使用DMA2D后普通刷出现问题

STM32H7 STM32H
STMCU-管管 STMCU-管管 回答时间:2025-4-17 16:44

可以用dma2d,时序问题现在变成了这样https://oss-club.rt-thread.org/uploads/20241231/625cb6c06bcbedd9c96497720c480b71.jpg

赞0
2 回答

stm32cubumx使用1.28.0固件包无法初始化fsmc

STM32F4 STM32CubeMX
STMCU-管管 STMCU-管管 回答时间:2025-4-9 13:26

建议你借助调试,看看是什么原因导致error的,应该比较容易找出原因的。

赞0
4 回答

STM32F103TBU6 封装是VFQFPN36 将PD0和PD1配置成CAN不成功是什么原因

STM32F1
STMCU-管管 STMCU-管管 回答时间:2025-4-9 13:23

看起来STM32F103TBU6(36脚)的PD0/PD1硬件上不支持CAN功能重映射的。 对于36脚封装,必须使用默认的CAN引脚: PA11(CAN_RX) PA12(CAN_TX) 如需使用PD0/PD1作为CAN,需选择100脚或144脚封装的型号

赞0
3 回答

cubeide登录不了,软件连不上网

STM32CubeIDE
STMCU-管管 STMCU-管管 回答时间:2025-4-1 08:18

禁用VPN/代理服务器,关闭防火墙试试

赞0
2 回答

STM32MP257是否有matter网关的技术分享

Linux
STMCU-管管 STMCU-管管 最优答案 回答时间:2025-3-28 16:55

后边关注下肯定会有的

赞0
1 回答

基于STM32F103的HAL库实现USB(HID) OTA升级

STM32CubeMX STM32CubeIDE STM32F103
STMCU-管管 STMCU-管管 回答时间:2025-3-28 16:59

1. 硬件与软件准备 硬件 : STM32F103C8T6(或其他F103系列,需支持USB) USB接口(PA11/DM, PA12/DP) 串口(可选,用于调试) 软件 : STM32CubeMX Keil MDK/STM32CubeIDE USB HID协议库(或自定义协议) 2. CubeMX配置 步骤1:创建工程 打开CubeMX,选择 STM32F103C8T6 。 配置时钟: HSE(8MHz外部晶振)→ PLL → SYSCLK 72MHz。 USB时钟需48MHz(通过PLL分频实现,72MHz / 1.5 = 48MHz)。 步骤2:启用USB 在 Connectivity 中启用 USB Device 。 选择 Human Interface Device (HID) : Middleware → USB_DEVICE → HID 。 步骤3:配置GPIO和时钟 确保PA11(DM)和PA12(DP)已自动配置为USB。 检查时钟树: PLLCLK = 72MHz(HSE 8MHz × 9)。 USBCLK = 48MHz(72MHz / 1.5)。 步骤4:生成代码 选择IDE(如Keil),生成代码。 3. 代码实现 3.1 修改HID描述符 在 usbd_hid.c 中修改报告描述符(64字节输入/输出): c 复制 __ALIGN_BEGIN static uint8_t HID_ReportDesc[] __ALIGN_END = { 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined) 0x09, 0x01, // Usage (Vendor Usage 1) 0xA1, 0x01, // Collection (Application) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8 bits) 0x95, 0x40, // Report Count (64 bytes) 0x09, 0x01, // Usage (Vendor Usage 1) 0x81, 0x02, // Input (Data, Var, Abs) 0x95, 0x40, // Report Count (64 bytes) 0x09, 0x01, // Usage (Vendor Usage 1) 0x91, 0x02, // Output (Data, Var, Abs) 0xC0 // End Collection }; 3.2 实现OTA协议 接收固件数据 (在 usbd_hid.c 中): c 复制 void USBD_HID_SendReport(uint8_t *report, uint16_t len) { if (USBD_HID_HandleTypeDef *hid = hUsbDeviceFS.pClassData) { USBD_LL_Transmit(&hUsbDeviceFS, HID_EPIN_ADDR, report, len); } } void USBD_HID_Receive(uint8_t *data, uint32_t length) { if (data[0] == OTA_HEADER) { // 检查固件头 write_to_flash(APP_ADDRESS, &data[1], length - 1); } } Flash操作 (添加 stm32f1xx_hal_flash.c): c 复制 void write_to_flash(uint32_t addr, uint8_t *data, uint32_t len) { HAL_FLASH_Unlock(); FLASH_EraseInitTypeDef erase = { .TypeErase = FLASH_TYPEERASE_PAGES, .PageAddress = APP_ADDRESS, .NbPages = (len + FLASH_PAGE_SIZE - 1) / FLASH_PAGE_SIZE }; uint32_t page_error; HAL_FLASHEx_Erase(&erase, &page_error); for (uint32_t i = 0; i < len; i += 2) { uint16_t val = *(uint16_t*)(data + i); HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, addr + i, val); } HAL_FLASH_Lock(); } 跳转函数 (在 main.c 中): c 复制 void jump_to_app(void) { void (*app_reset_handler)(void) = (void (*)(void))(*((uint32_t*)(APP_ADDRESS + 4))); __disable_irq(); HAL_RCC_DeInit(); HAL_DeInit(); __set_MSP(*(__IO uint32_t*)APP_ADDRESS); app_reset_handler(); } 3.3 主循环逻辑 c 复制 while (1) { if (ota_complete) { jump_to_app(); } HAL_Delay(100); } 4. 上位机工具(Python示例) python 复制 import hid device = hid.device() device.open(0x0483, 0x5750) # STM32默认VID/PID # 发送固件 with open("firmware.bin", "rb") as f: data = f.read() chunk_size = 64 for i in range(0, len(data), chunk_size): chunk = data[i:i+chunk_size] device.write([0x00] + list(chunk)) # HID报告ID为0x00 5. 测试步骤 编译烧录 :将Bootloader代码烧录到STM32F103。 发送固件 : 运行Python脚本发送 .bin 文件。 MCU接收后写入Flash(地址 0x08004000,避开Bootloader)。 跳转验证 :重启后自动运行新固件。 6. 常见问题 USB枚举失败 : 检查PA11/PA12引脚连接。 确认时钟配置(USBCLK=48MHz)。 Flash写入错误 : 确保地址对齐(半字写入,2字节)。 关闭写保护(HAL_FLASH_Unlock())。 兼容性 : STM32F103的USB仅支持全速模式(12Mbps)。 7. 优化建议 校验机制 :添加CRC校验固件完整性。 双Bank升级 :STM32F103无双Bank,可设计备份分区。 调试输出 :通过串口打印日志(如HAL_UART_Transmit)。

赞0
7 回答

USBx配置有哪些小的需要注意的细节?

STM32L5 USB
STMCU-管管 STMCU-管管 回答时间:2025-3-24 09:40

不知你的配置怎么样的,具体配置的什么?是HOST还是DEVICE? 假设配置的FS DEVICE, 除了基本的USBX core System勾选配置外,UX Device FS,除了勾选 Device CoreStaack FS 和Device controller FS. 还需针对所选择的设备class做选择,比方HId\CDC之类。如果 是HID,下面还有细分标准keyboard\Mouse或者自定义子类的选择。 UXDevice memory pool size由默认的1024可能比较小,可以配置更大些,比方12K(12*1024Bytes), USBX Device System Stack Size由默认的512比较小,也可以配置更大些,比方10K(10*1024Bytes), 当然,这些数据都以根据具体应用、调试OK后为准。 如果你涉及多个功能接口的复合应用,USBD_COMPOSITE_USE_IAD 设置为true。 另外,你的工程文件的堆栈都应适当调大点,可以参考例程里的配置。 对于FS USB应用的话,给到USB模块的时钟应该是48MHz; 另外,建议你到www.stmcu.com.cn搜索LAT1350 LAT1488 LAT1449  LAT1466来参考下。

赞0
1 回答

2025.3.20西安工业峰会

线下活动 工业峰会
STMCU-管管 STMCU-管管 回答时间:2025-3-21 11:30

感谢参会

赞0
3 回答

今日春分,各大活动也要开始上线了

签到
STMCU-管管 STMCU-管管 回答时间:2025-3-21 08:31

是的,陆续会有不少活动

赞0
3 回答

如何使用cubeide配置stm32H750环境,但是在SYS中没有debug选项,也就选不了serial wire,

STM32H7
STMCU-管管 STMCU-管管 回答时间:2025-3-20 09:13

这里可能跟别的系列有点点差异,左边有个专门的Debug项,点击即可看到东西。

赞0
3 回答

NUCLEO-C031C6开发板测试1——点灯及用户按键

STM32C0
STMCU-管管 STMCU-管管 最优答案 回答时间:2025-3-17 08:54

老牛洋车 发表于 2025-3-14 16:46 [md]我对如何在编辑器中添加代码还不熟悉,下面补充上面代码的截图: 1、延时函数 建议分享贴发布在话题—STM32话题——文章——分享。

赞0
上一页下一页
STMCU-管管 STMCU-管管


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16