问题标签 [stm32cubeide]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
code-formatting - 可以在STM32CubeIDE中手动触发自动源代码格式化吗?
我使用 STM32CubeIDE 版本 1.6.1,并注意到 CubeMX 输出格式化代码(例如缩进 2 个空格)。我想手动重新应用此源代码格式(即手动触发所选文件的源代码格式)。
我发现了这篇文章:https://www.openstm32.org/forumthread6435,其中提到:
转到首选项对话框并选择 C/C++ > Code Style > Formatter
单击“Edit...”更改选项卡大小字段。关闭首选项然后,选择你要应用的所有项目,点击右键,选择“Source > Format”</p>
所以,我不能 100% 确定上面的引用是指 STM32CubeIDE,但是,第一部分仍然存在,在 Window/Preferences 我可以得到这个:
但是,我看不到如何在所选文件上手动触发此源代码格式。例如, Eclipse 的https://dvteclipse.com/documentation/e/Format_Multiple_Files.html(STM32CubeIDE是基于它的)提到,通过右键单击源文件,可以调用命令“格式化源文件”;但是,当我main.c
在 STM32CubeIDE 项目资源管理器中单击我时,我看不到类似的内容:
那么,有没有办法在 STM32CubeIDE 中手动触发选定(单个或多个)源代码文件的自动源代码格式化?
stm32 - STM32H7 HAL_UART_Init 永远阻塞并且失败
我已经开始了一个新项目,使用的是我昨天下载的 STM32CubeIDE,并且检查更新说我是最新的。漂亮而简单的 LED 闪光灯和 UART 上的 Hello world。使用 STM32H753II。
我正在使用 USART2,设置为异步。我尝试过使用和不使用 DMA。禁止我的闪烁代码,一切都是由 CubeIDE 自动生成的。
在所有情况下,程序都会在 MX_USART2_UART_Init() 内部的 HAL_UART_Init(&huart2) 调用中陷入无限循环。
深入挖掘,我发现它卡在 HAL_UART_Init(&huart2) 中的位置是:
里面是它的调用:
TEACK 标志似乎永远不会被重置。令人困惑的是,注释说的是 SET,但函数调用说的是 RESET。我不确定这是否是问题所在。
如果有人能指出我的设置出错的方向,我将不胜感激。我以为建立一个新项目来做一个“hello world”会很简单!
笔记; 我熟悉 STM32,但正在考虑将我的项目从 TrueStudio 转移过来。
链接到我已将项目作为附件上传的 STM32 论坛上的问题。
编辑; 我现在也尝试了 UART4 和 UART8,同样的问题仍然存在。与 IDE 中的 UART_printf 示例项目类似。
uart - STM32F4 UART HAL 驱动程序'将字符串保存在变量缓冲区中'
我正在为 STM32F4 编写软件。STM32 需要通过 UART 拉入一个字符串。该字符串的长度可变,并且每秒从一个传感器输入。字符串存储在一个固定的缓冲区中,因此缓冲区内容不断变化。
传入的字符串如下所示:“A12941;P2507;T2150;C21;E0;”
UART的设置:
- 波特率:19200
- 字长:8Bits
- 奇偶校验:无
- 止损:1
- 过采样:16 个样本
- 全局中断:启用
- 无 DMA 设置
main.c 函数中使用的部分代码:
stm32f4xx_it.c中的部分代码
以这种方式用变量字符串填充缓冲区确实有效,但由于缓冲区不断被补充,因此很难提取字符串的开头和结尾。例如,缓冲区可能如下所示: [0]'E' [1]'0' [2]'/n' [3]'A' [4]'1' [5]'2' [6] '9' [7]'4' [8]'1' [9]';' [10]'P'等....但我想要一个从'A'开始的缓冲区。
我的问题是,如何正确处理 uart 上的传入字符串,以便我只有字符串“A12941;P2507;T2150;C21;E0;”?
提前致谢!!
ssl - STM32Cube_FW_F7 SSL 客户端 mbedTLS FATAL_ALERT
我正在尝试在我的 IoT 项目中实现 SSL 客户端。我已将在 STM32Cube_FW_F7_V1.15.0 中找到的 SSL_Client 示例复制到我的项目中,并且能够成功编译。但是 SSL 握手失败并显示 -0x7780 MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE。我附上控制台调试输出:
我很感激每一个正确方向的提示。
stm32 - 在配置工具 STM32CubeMX 中启用蓝牙功能时,外部中断停止工作
当在配置工具(控制器 STM32WB55)中启用蓝牙低功耗功能时,外部中断停止工作。当 Thread 或 Zigbee 被激活时,外部中断也会停止工作。已经测试了几个引脚,但问题仍然存在。我将非常感谢任何提示。
c - STM32立方体IDE LED不闪烁
我有一块带有 STM32F103RET6 的板子,上面有很多东西,还有一个连接到 GPIO 引脚的蓝色和绿色 LED。为了测试它是否正常工作,我正在使用 STM32 cube IDE 上传一个闪烁 LED 的程序,并且 LED 会打开,但延迟后它不会关闭。我已经尝试过使用我拥有的两个 LED,并且它们都发生了相同的情况,我选择的那个会打开,但它不会关闭(不会闪烁)。我正在使用的代码如下:
我也尝试过HAL_GPIO_TogglePin
,我得到了相同的结果。我相信问题不在于编码,因为它真的很简单,所以时钟配置肯定有问题。我正在使用 16 MHz 的外部振荡器。
感谢您的时间。
阿尔瑙
c++ - HAL_Delay() 使 STM 崩溃
我正在尝试将代码上传到 STM32F103RET6 MCU 并进行简单设置(见下图)。我已将 LED 连接到引脚 PA1 作为 GPIO 输出和 16 MHz 的外部振荡器。其他三个引脚连接到连接 STLINK v2 的 JTAG 连接器。STM32 设置连接
当我生成代码以执行简单的闪烁时,我遇到了 HAL_Delay 函数的问题。代码如下所示。
与 MCU 的连接正常,代码开始运行,所以第一行是打开 LED 正确执行,LED 点亮。问题是当HAL_Delay(500)
执行时,它会停止代码并弹出以下消息: No source available for "uwTickPrio() at 0x20000004" See image: uwTickPrio()
按照以下说明设置 NVIC 优先级:HAL_Delay 陷入无限循环 使用以下参数(正如我从那篇文章中了解到的那样):NVIC 抢占优先级
论坛中评论了许多其他内容,但我无法解决这个问题。任何提示都可能非常有用。
非常感谢您抽出宝贵时间。
stm32 - 在 macOS Big Sur 上安装 STM32CubeProgrammer
我正在尝试在 MacOS BigSur 上安装 STM32CubeProgrammer,我已按照网站上的以下步骤操作:https ://community.st.com/s/question/0D50X0000BmnqrB/how-to-run-stm32cubeprogrammer-on-macos-catalina- 10151-19b88?t=1620993010340。虽然当我用终端运行程序时,它给了我一个错误,说我找不到 jre 文件夹。但是从官网下载时,自带jre文件夹,SetupSTM32CubeProgrammer-2.7.0.exe和SetupSTM32CubeProgrammer-2.7.0.app。
这是错误行:
c - ADC值太高,端口串口读不出来
您好,我通过使用 CubeMX 和 Hal lib 获得了 STM32F01C8T6 的代码:
ADC 输入为 3.3V,端口串行测试正常。
在调试模式下的值为:536880200,在端口串行中只打印像 !,d@)_+( 这样的坏词
引脚和 ADC 配置:[1]:https ://i.stack.imgur.com/YubLM.png
完整的 main.c 代码:
ADC 值在调试模式下很高,我无法在端口串行中读取它,我该如何解决?
谢谢 。
stm32 - 使用 STM32CubeIDE 调试 .hex 文件
我对 STM32 开发很陌生。
我制作了一个自定义的 .hex 文件,该文件对应于我的二进制文件,并且在给定地址处具有 CRC。为了实现这一点,我遵循了这个说明。
现在,我被困在第 11 步,作者告诉 STM32CubeIDE 使用其自定义 .hex 文件而不是标准 .elf 文件来调试当前项目。
我的问题是这个指令很老旧,IDE 的用户界面现在不同了。如何使用最新的 STM32CubeIDE 版本实现这一步?(撰写本文时为 1.6.1)
谢谢。