问题标签 [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 投票
1 回答
123 浏览

stm32f4discovery - STM32F-Discovery和MAX31856之间的SPI通信问​​题

我试图使用 SPI 通信将我的 STM 发现板与 MAX31856 通信。根据数据表,我应该先发送地址字节,然后是数据字节。我目前能够写入寄存器,但是当我尝试读取写入寄存器的数据时,除非我只发送读取命令,否则我无法读取数据。

例如:

http://puu.sh/E2gJD.png 使用此代码,我可以读取默认寄存器值。

http://puu.sh/E2gLC.png 使用此代码,我可以将新值写入 CR0 和 CR1 寄存器。第一个 0x80 值是寄存器 CR0 的地址字节。下一个值是新的寄存器值 0x80 和 0x37。

http://puu.sh/E2gNK.png 我停止了之前的程序并将我的代码更改为这个程序。然后我开始调试。从这张图可以看出,CR0和CR1寄存器的值都变成了我们之前写的。

最后; http://puu.sh/E2gRw.png 当我尝试结合这两个操作,写入和读取时,我无法读取我写入寄存器的内容。需要一些帮助来解决这个问题。

我需要能够读取稍后写入 CR0 和 CR1 寄存器的命令。我怎样才能做到这一点?我希望你能理解我的问题并能够帮助我。谢谢。

0 投票
2 回答
2532 浏览

stm32 - STM32CUBEPGROGRAMMER: You are using OpenJDK, please Install OpenJFX error

STM32CubeProgrammer当我尝试运行我遇到此错误的程序时,似乎已安装。

我的计算机上安装了 OpenJDK、OpenJFX 和 Oracle。

如何修复错误?

0 投票
1 回答
921 浏览

arm - 如何在运行时处理 SD 卡的移除和添加?

我在 STM32F7 板上使用带有 SDMMC 接口的 SD 卡。我正在关注这个视频,项目进展顺利。https://www.youtube.com/watch?v=0NbBem8U80Y

在程序运行并可能写入时,我无法安全地移除 SD 卡并重新插入它。我可以安全地取出卡,但是当我在同一次运行中重新连接它时它不起作用。

0 投票
1 回答
87 浏览

stm32 - 尝试使用 STM32L452RE 微控制器从 MAX144 外部 ADC 获取数据但没有成功:(

我对使用 ADC 很陌生。我正在使用外部 ADC MAX144 使用 STM32L452RE 获取传感器数据。我将此 ADC 的两个通道用于两个传感器。ADC 不断发送数据,我想读取它。

ADC 的数据表在这里

我正在做的是:

  1. 创建了一个 2 字节的缓冲区
  2. 我将 DMA 用于 spi 和 uart
  3. 使用 HAL_SPI_Receive_DMA() 接收缓冲区中的数据
  4. 使用 HAL_UART_Transmit_DMA() 通过 usart 传输数据

我所做的代码如下:

在过去的两周里,我陷入了这个问题。任何这方面的指南都将受到高度赞赏。

问候。

0 投票
1 回答
160 浏览

stm32 - 如何使用STM32微控制器从外部ADC MAX144读取数据

上周我在使用 SPI 和 STM32L452 从外部 ADC MAX144 读取数据时遇到了问题。令人困惑的是如何在缓冲区中接收数据,因为 ADC 的数据表中没有提到内存地址或控制寄存器地址。数据表 ADC 如下所示。

https://datasheets.maximintegrated.com/en/ds/MAX144-MAX145.pdf

我尝试的是:

  1. 我做了一个2字节的缓冲区。(静态 unit_8 readBuffer[2])

  2. 然后使用 HAL SPI 的接收命令 ( HAL_SPI_Receive(&hspi3, readBuffer, 2, 5000)

  3. 并通过 USART 传输到 PC

令人困惑的是,我没有提供任何内存地址或控制寄存器地址来读取数据,因为 ADC 的数据表中没有提到寄存器,并且它不断发送数据。

请指导我有人对此有任何想法。我陷入了这个问题,但不明白。任何线索将不胜感激。

问候,

0 投票
1 回答
2140 浏览

microcontroller - 尝试以无头模式构建我的项目但收到警告:没有项目匹配

我在 STM32CubeIDE 中有一个项目,我使用以下命令在无头模式下从命令行运行该项目:

headless-bat -project "my-project-name/Debug" -build

它构建成功。但是当我尝试将同一个项目复制到另一个目录并尝试运行它时,我收到此错误警告:没有项目与我写的项目名称匹配。我将项目复制到 c:/myworkplace,然后运行以下命令:

headless-bat -project "my-project-name/Debug" -workplace "c:\myworkplace" -build

但是我得到了上面提到的错误。有人有什么主意吗?

0 投票
2 回答
3725 浏览

ide - STM32CUBEIDE st link gdb debug error in final launch sequence

所以,我正在学习 stm32 mcus,使用的是 nucleo f4 板。

一切正常,现在调试启动失败。

实际上,我正在做一个调试,关闭它,下一个调试会话将不会启动。

它在 Linux 或带有 OpenOCD 的 Windows 上启动调试,但 ST-Link GDB 调试失败(gdb 确实在 linux 上工作)。

这是错误消息:

!https://imgur.com/a/cVve9rY

Windows 防火墙中已经允许 stlink 服务器。

0 投票
1 回答
274 浏览

c - 板载 LED,不开/关

我刚开始使用 STM32F407VGT 探索套件,一开始我想打开/关闭板载 LED。我正在使用 CubeMX 生成初始化代码,使用 SystemWorkBench Eclipse 进行编译,还使用 ​​ST-LINK STM32 对我的板进行编程。在 CubeMX 中,我将 PD12-PD15 端口初始化为输出。我使用函数 HAL_GPIO_WritePin 将 LED 设置为 ON。编译和编程到设备后,什么都没有发生……请给我一些建议,我做错了什么。

0 投票
1 回答
935 浏览

spi - STM32F103 SPI不同引脚不工作

我目前正在使用 STM32F103C8T6 微控制器进行 LoRaWAN 技术项目。对于 LoRa,我在全双工主模式(特别是 spi1)和 CubeIDE 中使用 SPI,当您激活 SPI1 时,会自动激活引脚 PA5、PA6 和 PA7(ver1): SPI1的配置

然而,PCB 是设计和印刷的,不幸的是这些引脚很忙。因为,之前计划使用其他 SPI1 引脚(PB3、PB4、PB5)(ver2): SPI1 v2的配置

所以,当我使用ver1时,一切都很好,LoRa连接到服务器并发送数据没有问题。但是,当我使用 ver2 时,它根本不起作用。我调试发现问题出在哪里,发现SPI读取失败(读取LoRa版本时,它返回0)。因此,ASSERT火灾和代码陷入无限循环。我在互联网上找不到任何关于 SPI 引脚差异的参考。

谁能解释这些引脚的区别?是否可以使用ver2?预先感谢。

PS 我正在使用 HAL 库 + LMIC 库(用于 LoRa),并且 SPI 的配置对于 ver1 和 ver2 都是相同的。如果需要,这是配置代码:

PSS:我也在电子堆栈交换中提出过这个问题,但那里没有答案,所以我决定也在这里分享这个问题。

0 投票
1 回答
1785 浏览

stm32 - STM32:将 USART 与字符匹配 ISR 和 DMA 缓冲区一起使用

我正在使用带有 FreeRTOS 和 STM32CubeMX的STM32L432设备。

我尝试通过基于 ASCII 协议的 USART 实现 M2M 通信。协议序列的长度可以不同,但​​具有最大长度和定义的结束字符(' \r ' / 0x0D)。

因此,我考虑使用 DMA(如FIFO)收集所有 RX-USART 数据,并使用基于USART_ICR_CMCF标志的地址匹配 isr 来确定结束字符。

初始化 USART1 并启用地址匹配 isr

USART1 isr 处理程序

现在,地址匹配 isr 工作正常,但我不知道如何实现 DMA / FIFO 支持。

顺便提一句:

我很惊讶,该设备不支持 USART HW FIFO。我的想法是使用DMA来重现常用的FIFO吗?