问题标签 [nucleo]
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板用Keil 5不闪烁
我有以下问题。一旦我使用 ST CubeMX 生成 Keil 项目并将项目写入 STM32F103C8 MCU,一切顺利;但是,在第一次闪烁之后,我无法再闪烁它,因为它会引发以下错误:
我拉了 Boot0 引脚,激活它,并擦除了 MCU。此程序仅帮助一次闪烁;但是,如果我用裸机或 CMSIS 代码(不是由 CubeMX 生成)刷新 MCU,它可以正常工作,并且我可以根据需要多次刷新而不会出错。您能否提供建议,可能出了什么问题,我该如何解决?
embedded - 在 STM32F1 的中断处理程序中使用 Tim2
我正在使用 TIM2 通用定时器闪烁 LED。
main.c 中的代码
单击按钮时,应调用 EXTI 中断以使 LED 快速闪烁 20 次。但是,LED 保持亮起并完全停止闪烁。
您能否建议我如何调整 EXTI 的中断 ISR,以便它可以使用 TIM2 以及更快的闪烁。
stm32 - Nucleo 板上的 STM-Link 未枚举
我有两个核板(F4339ZI 和 F303K8),当我通过 USB 端口(CN1 - ST-Link 上的 USB 微型端口,而不是板的 USB 端口将它们插入计算机时,它们都没有显示为 USB 设备本身)。
我在两台不同的计算机上尝试了多个主机 USB 端口,有和没有 USB 集线器,一台运行 OS X,一台运行 Linux。我已经尝试了至少 6 种不同的电缆。OSX 机器正在使用 USB-C 到 USB-A 转换器(如果这是正确的术语)。Linux 机器具有 USB-A 端口。
在任何情况下,该设备都不会lsusb
在 Linux 或system_profiler SPUSBDataType
OSX 下使用。不用说STM32CubeIDE和st-info都看不到板子了。其他 USB 设备正常工作。
COM LED 呈红色缓慢闪烁,手册 ( https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-stmicroelectronics.pdf ) 表示 USB 枚举尚未完成(与从操作系统级别看)。
这些板在通电时成功运行工厂提供的闪烁程序。我已经尝试(使用 F4395I)将 JP3 移动到 VIN,这样电路板就不会启动,这应该只是让 ST-Link 运行——尽管仍然没有枚举。
我尝试在关闭 JP1(和 U5V 上的 JP3)的情况下连接到 USB 充电器,并且电路板通电并闪烁运行。上面引用的手册说:
如果板子由 USB 充电器供电,则没有 USB 枚举,因此绿色 LED LD6 永久保持关闭状态,目标 STM32 未供电。
但一切都对我有用 - LD6 与连接到计算机时一样呈稳定的绿色。
鉴于它发生在多台计算机、操作系统、电缆和 Nucleo 板上,我认为错误在于我,这是所有测试中的共同因素。这是我第一次使用 Nucleo 板,所以我很可能有一个错误的假设。
timer - STM32定时器输出比较不能正常工作
我正在使用 STM32L476 Nucleo 板和 STM32CubeMX。我想将输出比较通道 1 用于 2 毫秒的超时。我已经配置了定时器,但定时器没有为输出比较提供中断。我在给定时器的时间段内收到中断,但不是为了输出比较。
这是我的计时器配置:
我尝试更改该sConfigOC.Pulse
值,但没有看到预期的行为。
c - NUCLEO F401RE 通过 UART 向 nRF DK 板发送错误数据
我正在尝试通过 UART 将数据从 NUCLEO 板发送到 nRF 52840 DK。问题是我发送的内容被错误地接收。例如,当我发送值 3 时,我收到 32。我不确定问题出在哪里。
这是 NUCLEO 代码 '''
'''
以及 nRF DK 的代码。来自外设/UART示例代码
'''
'''
两者的波特率均为 115200
任何帮助或建议将不胜感激。
audio - stm32 SD卡混音
我正在尝试通过 SDIO 从我的 SD 中读取 2 个带有 FATFS 的文件并混合 16 位 PCM 音频数据。它可以工作,但输出声音在播放 2 个文件时速度较慢,听起来不太好。
我使用 I2S 将数据发送到 IC。我的 Buffersize 是 4096。如果不混合 2 个缓冲区,音频质量就很好。当我使用该示例混合我在网上找到的缓冲区时,您会听到很多噪音。
有任何想法吗?
我的代码:
I2S 回调发送下一个缓冲区
stm32 - 在 Nucleo-H7 上使用 SPI2 时出现问题,而 SPI1 工作正常
我的设置如下:将 Nucleo 板(嵌入 STM32H743 的 Nucleo 144)配置为 SPI Master。另一个相同的板被配置为 SPI 从设备。
对于 Master,我使用以下配置设置了 SPI1(引脚 GND、D11、D12 和 D13 - CN7 连接器的 PA5、6、7-):
- GPIO:非常高速,备用功能 5
- SPI:预分频器 DIV8,启用中断,单工通信,无从机选择
- 所有时钟设置为最大值(CPU 400MHz 等...)
对于从站,我也设置了 SPI1(相同的引脚),它工作正常。
然后我尝试为从板切换到 SPI2 外设,但无法使其工作(主板没有变化)。我为 SCK 选择了引脚 D18 (PB13),为 MISO 选择了 A7 (PC2),为 MOSI 选择了 A2 (PC3)。
我检查了以下几点:
- SPI2 外设时钟使能
- 启用 GPIOB 和 C 时钟,引脚 PB13、PC2 和 PC3 的设置方式与之前设置中的 PA5、6、7 相同。
- 对于 GND,我在板上尝试了不同的 GND 引脚,我不知道它是否有区别。
- 用于 SPI2 的 GPIO 在我的代码中的其他地方没有使用。我从 STM32H743ZI 的数据表中得到了它们
我所看到的:
- 我的从机仍在正确接收 SCK 信号:我得到了正确数量的 RXP 中断。
- 从机接收的数据已损坏。
- 但是从机发送给主机的数据是正确的。
我认为 MOSI 信号配置不当,无论是物理上还是逻辑上。我尝试了其他 GPIO 引脚,其替代功能可以是 SPI2_MOSI 但行为相同。
SPI2 和/或此 GPIO 设置是否有特殊性?板上的 GND 位置重要吗?
stm32 - STM32L4xx 上的 SPIx 的 Rx 缓冲区接收到一个字节时,是否有一个 HAL 库 ISR 函数会自动触发?
我想知道 HAL 库中是否有一个用户可定义的内置 ISR 函数,该函数在 STM32L4xx MCU 上的 SPIx Rx 缓冲区中接收到一个字节后立即触发?例如,作为启动测试,我想通过 SPI2 从主 STM32L452 核板发送一个字节(0xBC)到从站 STM32L452 核板。一旦从板接收到该字节,它就会闪烁 LED2,并将不同的字节 (0xCD) 发送回主板。一旦主机接收到字节,它会闪烁 LED2 作为确认。我已将两块板初始化为主/从,启用 DMA 和全局中断,使用 MXcube 每次传输 8 位。我可以使用 HAL_SPI_Transmit_DMA() 和 HAL_SPI_Receive_DMA() 函数和写入主程序的 while(1) 部分的延迟来实现我想要的(如下所示)。然而,
主码:
奴隶代码:
c++ - 错误消息:找不到外围设备的 pinmap 位置:Nucleo-F429ZI 上的 0x8009B0B
当我把它加载到我的板上时,我得到一个找不到外围设备错误的 pinmap。我对这个问题做了一些研究(我访问过的页面之一),我想我理解这个问题,但是我使用的所有引脚都支持我要求他们做的事情。自从我将代码从过程转换为面向对象(我需要这样做才能正确实现调度)时,才出现此问题。
我感觉这与我如何在构造函数成员初始化器列表中初始化它们有关,因为我不完全理解它是如何工作的(我对 C++ 相当陌生)。
我的程序还有其他类,但是它们遵循与我的 UpdateOutput 类相同的结构。
提前感谢您的任何建议。
更新输出类:
UpdateOutputs 类中的函数示例