问题标签 [stm32cubemx]

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.

0 投票
0 回答
53 浏览

c++ - c ++中的全局范围变量未正确初始化

我将代码从 stm32f072 移植到 stm32f105。从那以后,我遇到了全局变量的问题,似乎它们没有被初始化。我使用 Atollic TrueStudio 及其编译和构建工具。对于新平台,我尝试转换现有的“eclipse”项目,并从 CubeMx 创建一个新平台。

访问全局对象时出现硬故障。“解决方法”是new在访问函数中移动语句。调试器显示,即使有 new 语句,全局 var 也是0x00.

我还使用了一个 std::queue,它有一个size()of 0xffffffe7when 还没有插入任何东西,这让我相信这也来自于缺少初始化。

我想解决这个问题,而不是将所有 init 都移到 main 函数的开头作为解决方法。

我的代码看起来像这样:

0 投票
1 回答
181 浏览

usb - 为什么我的 USB HID 输出垃圾?STM32立方体

我正在尝试制作一个力反馈轮,但软件不是我的菜。这应该切换按钮 0 而不是。

我的报告描述符(这是我第一次使用):

在此处输入图像描述

运行该代码,按钮是静态的“ON”,如下所示:

在此处输入图像描述

只有当“relativeMvt”变量改变时,它们才会(随机)改变,这很奇怪。

我试过的:

  • 在 typeDef 中交换 relativeMvt 和按钮

  • 检查报告描述符大小等

  • #define USBD_CUSTOMHID_OUTREPORT_BUF_SIZE 2

    #define USBD_CUSTOM_HID_REPORT_DESC_SIZE 45

    #define CUSTOM_HID_EPIN_SIZE 2

我必须改变什么才能让它工作?谢谢!

0 投票
1 回答
193 浏览

embedded - STM32 cube接收中断数据

我正在使用 STM32L07x8 芯片和 stcube 的 HAL 驱动程序。我无法以任何方式使 uart 在中断模式下工作。在阻塞模式下它工作正常。我试过像

在我启用 UART 之前或之后。USART1_IRQHandler() 函数或 HAL_UART_RxCpltCallback 永远不会被调用。CR1 中的 RXNE 位已启用。我只想让我的程序等到它在 UART 中接收到一口。我试着打电话

在主循环之前,在主循环期间,仍然没有。我完全不明白这个 HAL 是如何工作的。我发现的所有示例都无济于事。我只需要我的程序等待一些特定字符通过 UART 到达,然后执行几步,然后再次返回等待这些字符。

0 投票
1 回答
283 浏览

c - STM32F103C8 Bluepill板HAL_delay()问题

我使用 STM32 cubeMX 进行配置,使用 Keil 进行编程。已将板载 LED 引脚 pc13 引脚设置为输出引脚,默认为推挽模式。将调试器设置为串行线,因为我使用 ST-link V2 作为调试器。RCC 将 HSE 设置为晶体/陶瓷谐振器。并将时钟配置设置为默认值并生成项目。 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

现在我从一个简单的 LED 闪烁程序开始。如下

成功构建,没有错误并上传,我想知道我的 LED 没有闪烁和震惊,因为我以前做过,现在这不起作用。当我逐步调试并且我的代码只是重复来自两个函数时。

在这段代码中没有发生任何事情我知道代码是正确的,但是 HAL_delay 配置中有一些错误。在挠了一天之后,我尝试上传以下代码

奇怪的是,现在我的 LED 正在闪烁,只有我将 HAL_dealy 值从 1000 更改为100 并且它工作正常,但是当使用 1000 时根本不起作用。所以为了测试,我逐渐增加了延迟值,我发现超过 HAL_delay(400) 它不起作用。

无法找到原因任何帮助将是可观的。

正如汤姆所建议的那样,我使用 STstudio 调试了 uwTickFreq。我得到了以下输出波形。 在此处输入图像描述

之后,我还上传了以下代码。并将变量定义为“unsigned long int a;”

现在我使用 STstudio 调试了 a 的值。奇怪的是,一旦达到 300 左右,a 的值就会变为 0。 在此处输入图像描述

0 投票
1 回答
82 浏览

stm32 - STM32F103 闪存保护部分

当我断开 ST-Link、连接它然后通过 OpenOCD 对微控制器进行编程时,我无法保护 USER_FLASH 中的数据。我使用链接描述文件中的选项 (NOLOAD) 对其进行测试,但数据总是被删除。

STM32F103C8TX_FLASH.ld:

该功能在不断开程序员的情况下运行良好:

0 投票
0 回答
39 浏览

stm32 - STM32CubeMx 中的问题

在使用 STM32 CubeMX(版本 5.2.1)并在 SMBus-two-wire-Interface 中选择 i2c 时,它显示如下:-

警告:STM32 CubeMX 不支持此 IP 的此模式的配置。但是,此 IP 可以手动配置。

任何人请告诉我此警告的原因以及解决方案

0 投票
0 回答
112 浏览

stm32 - 使用 FATFS 将 .BMP 写入 SD 卡。扭曲的图像

我为 STM32 编写了一个程序,使用 FATFS 将 .bmp 文件写入 SD 卡。我正在使用 STM32CubeIDE 及其生成的代码。我将我的 .bmp 文件在线转换为字节数组,然后将该数组复制到我的程序中。

如果我一次写入全部数据,一切正常。图像出现在 SD 卡上并且没有失真。

正确的图像

如果我分两部分写入数据,图像会出现在 SD 上,但它的上排会向右移动一点。

扭曲的图像

可能是什么问题呢?谢谢!

0 投票
0 回答
31 浏览

spi - stm32f103c8 与 nrf24 库的传输和接收问题

我正在使用 Keil 和 CubeMX 在 stm32f103c8(bluepill)中开发我的项目,我想使用 nrf24l01 发射器,为此我寻找了一个正是我想做的教程。问题是,当我这样做时,我注意到无线电收发器不发送或接收,我在互联网上看到有些人对我正在使用的这张卡有问题,只是我这让我无法使用这个库。我留下了一个视频链接,该视频显示了我在库之外所做的相同步骤。确切地说,该功能nrf24_write是不起作用的功能。我希望你能帮助我,因为我一直在试图理解为什么它不能工作好几天。

链接视频:

https://www.youtube.com/watch?v=O2dg2Eo7vo8

链接库:

https://github.com/MYaqoobEmbedded/STM32-Tutorials/tree/master/Tutorial%2024%20-%20NRF24L01%20Radio%20Transceiver

主要代码:

0 投票
1 回答
148 浏览

keil - 如何解决错误 - L6236E:没有部分匹配选择器 - 没有部分是 FIRST/LAST

我已经研究了有关 stackOverflow 的其他类似问题,但我无法让这些解决方案发挥作用。

因此,我使用 STM32CubeMX 为 STM32F4-Discovery 生成了代码。首先,在代码生成时,我收到错误消息,说“代码在 /path/path 下成功生成,但 MDK-ARM V5.27 项目生成有问题”。

如果我忽略此错误,并在 keil IDE 上打开生成的代码,然后直接构建代码,我会收到以下错误。

在此处输入图像描述

现在,在网上搜索后,我发现解决上述错误的方法是添加启动代码,方法如下图所示。(参考错误:L6236E:没有部分匹配选择器 - 没有部分是 FIRST/LAST

在此处输入图像描述

按照上图中的步骤包含启动代码后,出现以下错误。

在此处输入图像描述

我不知道所有这些错误是否与代码生成后我在 cubeMX 上遇到的第一个错误有关(我一直忽略)。

无论如何,请有人帮我解决这个问题。

谢谢!

0 投票
0 回答
446 浏览

timer - ST32CubeMx 配置的一种脉冲模式

我正在做一个爱好项目来使用 STM32F407 发现板控制温度(TRIAC)。

目前,我已经开发了一个 ZCD 硬件电路,我能够输入捕捉 ZCD 上升沿脉冲。后来我能够生成 PWM 并每 10 毫秒更新一次(它的时间周期也是 10 毫秒)。

但是当我谷歌时,我想在每个零交叉点通常 10 毫秒(50 赫兹)更新 PWM,我开始知道几个选项,比如

  • 一脉冲模式
  • HAL_TIM_PWM_PulseFinishedCallback (TIM_HandleTypeDef *htim)
  • HAL_TIM_PeriodElapsedCallback

任何人都可以区分上述三个指令吗?

我认为一种脉冲模式适合我,我按照数据表进行了相应的配置。但我无法产生一个脉冲。请帮我配置 cubeMX studio 中的设置。

我在网上搜索过,我找不到太多帮助。

STM32CubeMX 中单脉冲模式的配置设置屏幕截图

如果我使用了错误的设置或配置,请纠正我。