问题标签 [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.
stm32 - STM32CubeMX 正在生成带有重复 C_SOURCES 的 Makefile
我刚刚开始学习 STM32 开发(在 Ubuntu 16.04 上)。
我使用 STM32CubeMX 构建了一个基于 Makefile 的项目。
生成的 Makefile 在 C_SOURCES 中有重复的条目,这(显然)由于重复的符号而导致链接失败。
Src/main.c
, Src/stm32f0xx_hal_msp.c
, Src/stm32f0xx_it.c
, Src/usbd_conf.c
,Src/usbd_desc.c
和Src/usb_device.c
每个都在此列表中两次。
如果我从 Makefile 中删除重复项,则会生成生成的项目。
我做错了什么,或者这是 STM32CubeMX 中的错误?
stm32f7 - Mbedtls 熵生成永远运行
我正在尝试为 mbedtls 编写一个测试函数,它随机生成一个用于 AES 加密的密钥。我使用 mbedtls 的原始教程代码。执行“mbedtls_ctr_drbg_seed()”时,我的程序总是停止。
关于我的环境:STM_CUBEmx 的基本源文件,板:ST32F767 Nucleo,基于 STM_Cube 的 Makefile 编译
先感谢您
timer - 定时器触发的ADC转换不工作,STM32L4
我正在处理 ADC ,由 timer2 触发的转换,但没有输出。APB2 定时器时钟为 80Mhz。只有 1 个 ADC 通道。ADC时钟也是80Mhz。ADC转换由3.3us触发。控制器是STM32L452。忽略 Timer3。
请让我知道我哪里错了。
ADC+定时器2+DMA
stm32 - 在 Atollic TrueStudio、STM32CubeMX 中导入 C 库
我目前正在开发一块 STM32F767ZI-Nucleo 板和一个小安全芯片(微芯片 atecc508a),它通过 i2c 连接进行连接。对于这个芯片是一个可用的库CryptoAuthLib,我想在我的项目中使用它。我还使用 STM32CubeMX 生成我的 C 文件和 Atollic TrueStudio 来编写我的实现。
C 编程语言对我来说相对较新,所以我不知道如何将我的库文件夹包含到我的项目中(在 cubemx 中还是在 trustudio 中?)以使其工作。
我认为 include 语句#include "cryptoauthlib.h"
应该在 main.c 的 include 部分,但是我必须以某种方式告诉 IDE 使用这个库。
我很感激任何帮助,非常感谢。
eclipse - STM32F091Rc 与外部 (I2C) RTC MCP79411 接口
我正在尝试通过 i2c 总线将 STM32F091Rc 与 MCP79411 连接,我能够从芯片(MCP79411)获取唯一 ID,但无法从芯片设置或获取 RTC 日期和时间。
我正在使用 CUBEMX 生成 I2C 初始化和其他所需文件,我也在使用 freertos 和 eclipse IDE。
似乎找不到任何与 RTC 芯片相关的库。任何帮助都会很有用。
编辑:(工作)用于从 MCP79411 芯片检索唯一 ID 的代码。
I2c 声明是通过 STMCubeMX 生成完成的。
用于检索 RTC 日期和时间但失败的代码。
提前致谢。
visual-studio-code - VS Code 有没有办法导入 Makefile 项目?
正如标题所说,我可以从现有的 Makefile 中自动填充 c_cpp_properties.json 吗?
编辑:
对于其他尝试导入 makefile 的人,我找到了一组脚本,它们完全可以执行我想要实现的目标,即通过 VS Code 管理 STM32 嵌入式项目。如果您深入脚本文件夹,您可以找到 make 解析器和 VSCode 项目文件填充器。
这里是回购,享受!
makefile - 如何使用代码块闪存到 STM32f103c8?
我正在尝试使用 STM32Cubemx、code::blocks 和 CubeMXMakefile.py 对我的 STM32f103c8 进行编程。编译结果显示 0 个错误和 0 个警告,并且闪烁成功,但代码(闪烁 PC13)未在板上运行。
我通过克隆“ https://github.com/texane/stlink ” repo安装了 Stlink ,并在其上运行 make 并通过运行 lsusb 检查它是否工作,并确认检测到“STMicroelectronics ST-LINK/V2”。
我也已经为代码块安装了 arm 编译器,它们似乎也能正常工作。
我的问题主要是一开始代码不会闪到板子上,当运行“CubeMXMakefile.py”时,我会收到一个警告,说 st-flash 没有安装,尽管它是通过在克隆上运行 Make 而构建的,当试图“制作闪存”我会得到一个错误,即在“/usr/local/bin”中找不到 st-flash。我通过手动将 st-flash 文件从克隆存储库中的 build/release 目录复制到提到的路径来解决了这个问题(我认为)。现在代码在编译或闪烁时编译没有错误,但代码仍然无法工作。
这是代码,当然是由 cubemx 生成的,除了 while 块:
这是编译输出:
stm32 - stm32 freeRTOS软件定时器中的回调参数
我正在尝试使用与 freeRTOS 的 cubeMx 集成的软件计时器(基本上,它是 freeRTOS,上面有一个几乎透明的层)。我以为我可以将指向结构的指针作为计时器参数传递,并将其作为回调函数中的参数。像这样的东西:
打回来:
不幸的是,参数没有指向与 &t 相同的地址。当我查看 freeRTOS 代码时,似乎 lib 将转换为 void* 的结构“Timer_t”传递给回调函数(请参见下面代码的结尾):
结构是:
这个结构包含我创建计时器时传递的数据指针。它存储在 pvTimerId 中。
这意味着我应该将回调参数转换为 Timer_t 才能访问 pvTimerId。像这样的东西:
但是这个 Timer_t 结构不是公开的。我真的不明白为什么用这个结构作为参数调用回调,而且将其转换为 const void*...
我应该怎么做?
audio - 没有来自 PC 的音频数据发送到 STM32F4 音频类 USB
我正在从事一个音频项目。我们像USB音频设备一样使用stm32f407从PC获取音频数据,然后通过I2S模块发送出去。我们正在使用 stm32f4 Discovery 套件和 STM32cubeMX。按照这个视频生成代码后,我什么也没做,闪到Kit;我的电脑识别出 STM 音频设备,但在播放音乐时没有任何数据发送到我的套件,除了 MuteCMD 。我的问题是:
当数据从 PC 流到 Kit 时,我不知道哪个函数是回调。
为什么PC识别我的套件是音频输出设备,但是当我在PC上配置音量并且没有任何音乐数据发送到我的设备时,没有调用音量控制的回调。当我将 PC 静音时,会调用唯一的一个静音控制回调函数。
这是我在 STM32cubeMX 中的配置
c - 宏 __HAL_TIM_SET_Compare 不起作用
尝试使用宏调整 PWM 周期值
但它不起作用。
然而宏
工作正常。
为什么__HAL_TIM_SET_COMPARE
不起作用?
我使用的板是 NUCLEO-F401RE,在 Truestudio 上带有 CUBE-MX 生成的项目。