问题标签 [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 - STM32F103C8T6如何同时建立3个UART和2个I2C接口?
我是 STM32 和 CubeMX 的新手。我需要在 STM32F103C8T6 中创建 3 个 UART 接口和 2 个 I2C 接口。我试过了,但是 i2c 和 uart 通信都有一个公共端口,它只允许我创建 (2 uart 和 2 i2c) 或 (3 uart 和 1 i2c ),我无法根据需要创建。如何在STM32F103C8T6中同时建立3个UART和2个I2C接口?
提前致谢...
stm32 - STM32CubeMx:如何添加自己的“USER CODE BEGIN / END”部分?
我有一个项目,我需要在其中一个生成的 C 文件中添加几行。但是,我要添加更改的地方没有“USER CODE BEGIN / END”部分。因此,每当我重新生成代码时,更改都会被覆盖。我尝试添加我自己的用户代码部分,如下所示,但即使它也被覆盖了。看起来,CubeMX 正在寻找一组预定义的用户代码块,并覆盖其他所有内容。
我希望能够定义我自己的用户代码块,以便我可以在 CubeMX 尚未提供用户代码块的地方编写自定义代码。
stm32 - FreeRTOS 任务优先级和堆栈大小
我有 STM32F746ZG Nucleo-144pin 板并使用 STMCubeMx 生成代码。我选择了 CubeMx 提供的 10.0.0 版本的 FreeRTOS,工具链是 SW4STM32。
我做了两个任务,以下是我的功能。我的代码在这里:
- 任务优先级。
我发现如果两个任务具有相同的任务优先级,这两个任务可以正常工作,但是如果它们具有不同的任务优先级,那么低任务就不能工作。
- 任务堆栈大小。
如果两个任务的堆栈大小加起来大于 3 KB,则确认该任务没有正常工作。下面的代码可以正常工作。
但是,如果堆栈大小如下更改,则第二个任务不起作用。
尝试将 STM32F746ZGTx_FLASH.ld 中的 _Min_Stack_Size 从 0x400 更改为 0x4000 会出现同样的问题。
谁能解释这个原因?
stm32 - 如何在 STM32F103C8T6 中使用 HAL_UART_Transmit() 配置传输数据的波特率?
我正在使用 STM32F103C8T6 板和 CubeMX 来生成代码。我使用函数 HAL_UART_Transmit() 通过 UART 传输数据。我在 CubeMX 中将波特率配置为 9600,在 Putty 中也选择了 9600 的速度。我仍然只得到一些垃圾值。如何同步我的数据传输?
提前致谢..
stm32 - NUCLEO-F746ZG UART3
我正在尝试将 NUCLEO-F746ZG 中的 UART3 与 TrueStudio 一起使用。USART3 连接 ST-LINK 支持虚拟 COM 口,但是现在不行了。我没有示波器,我真的很想通过超级终端看到打印消息,就像一个实时术语。
我搜索了这个问题,发现很多用户都很难过。
最后,我从以下网站找到了 STM32CubMX 中的 UART 示例解决方案。如果我复制 syscall.c,那么它在 UART 示例中可以正常工作。
https://community.st.com/s/question/0D50X00009XkXDcSAN/problem-with-uart-example-on-nucleof746zg
以下是来自 STM32CubeMX 的 UART 示例代码。目录:STM32Cube_FW_F7_V1.15.0\Projects\STM32F746ZG-Nucleo\Examples\UART\UART_Printf。
但是,我使用 STM32CubeMX 生成了代码。我只使用了 USART3 并确认其中有 syscall.c。但尽管如此,我还是看不到打印消息。如果有人解决了这个问题,如果他们分享,我将不胜感激。
以下是我使用STM32CubeMX生成的代码。
keil - STM32F407Vg SystemInit() <--灰色线下划线,复位处理错误
设备:stm32f407vg
IDE:Keil uvision 5
IDE版本:最新版本
Cubemx 版本:最新版本
我想在我的项目中使用 USART 通信协议。提供了通信但发送了不正确的数据(STM> PC)。
编译器中的“SystemInit()”函数用灰线加下划线。一位页面用户评论说:
"""""
SystemInit() 应仅在重置处理程序中调用
此功能应该将系统时钟重置为默认状态,直接从 HSI 以 16 MHz 运行。
您在 main() 的中间调用它,此时 USART1 已经配置为假设更高的时钟速度。不知道外设在动态更改时钟源时会做什么。
""""
代码:
当我查看文件 startup_stm32f407xx.s 时,代码中包含以下几行。
你认为错误在哪里?提前致谢。
i2c - 我希望在 stm32f407vg 中的 i2c 通信期间忽略确认位
我正在通过 stm32f407vg(芯片 zsc31050)对任何集成芯片进行编程。我想通过 i2c 通信在 stm32 和 zsc31050 之间进行通信。我使用 Keil 和 stm32cubemx 对 stm32 进行编程。根据第一次烧录时芯片的datasheet,该芯片不发送应答位。从地址之后没有确认位。因此 stm32 不发送任何配置位。我想更改stm32fxx_hal_i2c.c
库,以便 stm32 将忽略确认位。我能做些什么呢?
microcontroller - STM32 Cube IDE (True Studio) 复位下连接
我刚刚试用了新的 STM32 Cube IDE,它基于基于 Eclipse 的 Atollic True Studio。
看起来不错,Cube MX 已集成,但调试器/ST-Link 集成给我带来了问题。
如果我第一次刷单片机,它工作得很好。但在下一次,IDE 说
“未找到目标设备
初始化 ST-LINK 设备时出错。原因:在目标上找不到设备。”
我发现带有我的硬件的 ST-Link V2 需要“重置下连接”。
使用 ST-Link 实用程序可以正常工作,但在 Cube IDE 中我找不到要设置的点。
这是配置表单:IDE
有人可以帮忙吗?
stm32 - 在 STM32 CubeMX 生成的代码中,用户代码部分注释中的 ADC_IRQn 指的是什么?
在 Cube MX 生成的 [devicename]_it.c 文件中,每个 IRQ 处理程序中有多个用户代码部分,例如下面的 ADC_IRQHandler
多个部分的意图是什么?
stm32 - 用CAN总线对STM32微控制器编程的问题
我是 STM32 微控制器和 CAN 总线通信协议的新手,我正在编写 STM32F103xx 微控制器。我想使用 CAN 总线将数据传输到同一系列的另一个微控制器。
我设置了所有必要的设置,但是在调试代码时它卡在传输挂起函数中并且不传输。我希望传输数据,但事实并非如此。
我不相信我的硬件有问题。
PS:我已经尝试过 CAN 处理程序的正常模式和 LOOPBACK 模式,但它们都不起作用。