问题标签 [cubemx]

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 投票
3 回答
3380 浏览

stm32 - 在 DMA 模式下无法从 UART 接收数据

我试图在我的 NUCLEO F446RE stm32 板上从我的电脑接收 8 个字节。传输到电脑工作。问题是,我无法使用 DMA 接收数据。我看到了一个代码几乎相同的例子,它对这个人有用。如果我使用中断模式(只需将 HAL_UART_Receive_DMA 更改为 HAL_UART_Receive_IT,它就可以工作,并且正在调用 RX Complete 回调。

这是完整的 main.c。DMA 处于循环模式。

https://pastebin.com/1W4BCjxB

0 投票
1 回答
238 浏览

cmake - 为 nucleo stm32f767 编译 freertos 时出错

我已经使用 cubeMX 生成了代码,并且在编译它时给了我以下错误。我已经尝试了几个修复,但没有一个有效。

CMakeLists.txt

IDE:克莱恩 2019.3

我正在使用带有 STM32F767 的 NUCLEO-F767ZI

0 投票
1 回答
44 浏览

stm32 - 如何进行 USART 通信 请告诉我进行 usart 通信应注意的一切


我在 ubuntu 上使用 Atollic 和 cubemx。


0 投票
1 回答
942 浏览

c - STM32 SPI同步问题

我在 STM32F429 上遇到了一些非常奇怪的行为,试图通过 SPI 与另一个微控制器同步数据。STM32F4 是 SPI 从机。我一直在尝试将我的代码简化为一个最小的示例,所以现在,我一次发送一个字节,在 STM32F4 上接收具有阻塞功能,并通过 UART 打印它以查看它接收到的内容。

我有一个额外的 GPIO 引脚,我在启动 SPI 事务之前断言它连接到 EXTI 引脚,以确保 STM32F4 在 SPI 消息开始之前被中断。我已经删除了所有其他应用程序代码,所以这是我代码中唯一的内容。

问题是,如果我通过发送一些特定的值,那么 SPI 会失去同步(0x44 会导致它相当可重复,但其他值会导致问题)。

例如,如果我从主服务器发送一个字符串以及一个递增值:

在接收端,它打印出:

它可以成功运行任意长时间,然后在我发送 0x44 时失败。这是相关代码(其他一切都是由 CubeMX 自动生成的,本质上是默认配置)。

我已经尽可能地降低了主控的 SPI 速度(我使用多个微控制器作为主控,并且都有问题,但我目前使用的是赛普拉斯开发板),所以它以 500kHz 运行。我尝试了 CPOL 和 CPHA 设置的所有排列。重置STM32F4修复它,直到我发送另一个0x44值,所以我认为它与主设备没有任何关系。我尝试将 EXTI 中断设为最高优先级,删除所有其他中断源,取出所有其他应用程序代码,完全删除外部中断并在主循环中轮询 SPI 状态。我已经向主设备添加了延迟,以确保从设备有足够的时间来接收和处理,以及调整 HAL_SPI_Receive 函数中的超时值。我也尝试改变:

到阻塞的while循环:

我真的很茫然,我不知道还能尝试什么。

谢谢,保罗

编辑:这是 GPIO 配置。PF10 是我的 EXTI:

编辑2:这是轮询版本,已更新以删除从 ISR 中调用 HAL_SPI_Receive。有同样的问题。

0 投票
0 回答
301 浏览

c - 如何在没有 RTOS 的情况下将 mbedTLS 与 lwip 一起使用?

我想在 STM32F4 中使用 mbedtls 和 lwip。而在 Cubemx 中,当我想选择带有 lwip 的 mbedtls 时,我无法选择没有 FreeRTOS 的中间件。但我不想使用 FreeRTOS。当我生成代码并删除 FreeRTOS 文件、文件夹等时。我有很多错误。我怎样才能同时使用 lwip 和 mbedtls ?

0 投票
0 回答
280 浏览

c - stm32CubeMX 的 cmsis_os.c 有修复吗?

我正在使用 STMCubeMX 中提供的 cmsis_os.c 和 cmsis_os.h。我发现至少有两个地方是 cmsis_os.c 应该修复的。

第一个:

TaskFunction_t 是否应该替换为 TimerCallbackFunction_t?

第二个:

我认为它必须是:

你怎么看?

有没有办法让 STMCubeMX 生成修补文件而不是原始文件?

谢谢,阿尔贝托

0 投票
0 回答
22 浏览

eclipse - STM32F429 人工智能工具 AI_DATA_FORMAT_UQ 未找到

我正在用STM32F429研究人工智能。我使用 CubeMX 为 SystemWorkbench 生成代码。CubeMX 生成的代码有AI_DATA_FORMAT_UQ命名宏,但它没有在任何地方定义。我是说;

AI_DATA_FORMAT_UQ 未在其他任何地方定义。你知道如何找到这个值吗?还是可以省略它?

谢谢!

0 投票
0 回答
737 浏览

cmake - 更正 CMake 的链接器标志

我正在尝试将嵌入式 gcc arm- 项目转换为使用 ARMClang 而不是 GCC。我的重点是使用 CMake 自动生成生成文件的任务,但我不明白为什么我不能强制执行链接器标志,并且在构建过程中总是出现以下错误

[ 96%] 构建 ASM 对象 CMakeFiles/CLION-f103-armclang.elf.dir/startup/startup_stm32f103xb.o 致命错误:A9912E:未选择 --cpu

我的 CMakeLists.txt 文件的内容如下

首先,要使脚本正确构建和链接,CMakeLists.txt 文件需要进行哪些更改!?其次,如何使链接器输出标志看起来尽可能地遵循。

非常感谢任何帮助

0 投票
2 回答
1328 浏览

stm32 - 第一个 STM32F3 项目使用什么库或项目生成器?

我即将开始我的第一个 STM32 项目。(我以前使用过 atmega MCU,并且在 C 语言方面拥有数十年的经验,主要是服务器端。)

考虑到我想在 Linux 的命令行上使用 make 进行开发,似乎有三个选择。

  1. STM32CubeMX 生成的 makefile 项目,
  2. STM32CubeMX 生成的 makefile 项目,包括 FreeRTOS,或
  3. 使用 libopencm3 的 makefile 项目。

该应用程序将使用不同的协议在 4 个或更多串行端口上处理和发送消息。偶尔会设置或清除 GPIO。

我的问题是:

  • 为什么 libopencm3 存在?为什么有人会选择它而不是 STM32CubeMX 生成的 makefile 项目。
  • 对于这样的项目,学习 FreeRTOS 是否值得?
0 投票
1 回答
1580 浏览

c - stm32 HardFault_Handler 复位后

我目前正在开发基于 stm32f103C8 的 pcb。当前项目状态可以在这个GitHub 项目中查看。

我面临的问题是我无法在不调试设备的情况下运行代码。我的问题是:我该怎么做才能使代码在没有调试器的情况下运行?

设置

印刷电路板

我使用下面的Schematic。目前未填充电池管理和外部时钟。所以我使用内部振荡器。我通过由稳压器调节的 5V 电源为设备供电。

编程

我使用带有 SWD 的 st-link v2。只连接了 swclk、swdio 和 gnd。为了开发应用程序代码,我使用 cubemx(ide 和代码生成器)。

我测试过的

  • 当从 GND 断开 Boot0 和 Boot1 时,我可以使用调试器正常运行代码
  • 当将 Boot0 和 Boot1 连接到 GND 时,调试器直接跳转到 HardFault_Handler
  • 当没有调试器连接到 Boot0 和 Boot1 时,代码永远不会运行。
  • 电压水平稳定
  • 使用电源循环和 NRST 复位 MCU 时的行为没有区别。