问题标签 [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.
c - STM32 SPI 未按预期工作
我正在尝试通过使用 SPI 写入 GPIO 寄存器来启用 MCP23S09 上的 LED。
板上有两个芯片,一个用于输入,另一个用于输出,因此是 LED。
我按照我应该的方式连接了所有东西,所以我将 CH2 拉低并将 MOSI 和 SCK 引脚连接到我的微控制器。
我将 Nucleo STM32F411 与 CubeMX 软件结合使用,因此我试图将数据发送到寄存器以启用功能。
但不幸的是,我的 IO 扩展器上没有一个 LED 亮起。
接下来我尝试的是 STM32duino,所以我可以为我的开发板编写 Arduino 代码。但据我所知,这只是 HAL 库之上的另一层。
令我惊讶的是,它工作得很好!这是同一段代码,我只是对其进行了一些更改以供 Arduino 使用。
但是我仍然不明白为什么在使用CubeMX生成的HAL库时它不起作用。
Arduino代码:
STM32 哈尔:
c - 在 FreeRTOS 中从串口读取数据
从串口读取数据时出现问题。用于读取数据的 C 函数具有数据大小(以字节为单位)的参数。为了读取数据,我们需要提前知道传入数据的大小。我们通过串口连接使用 RFID 阅读器。每次将数据以不同大小发送到 Nucleo 板。我们面临的另一个问题是读取数据期间的 Nucleo 中断。当我们收到高度速度的数据时,我们需要再次启动它。这会导致高度数据传输速度的数据丢失。一种可能的解决方案是使用 DMA(直接内存访问),但我们不熟悉这种方法。你能提出一些解决方案吗?
c - 电机PI调节器结构代号
我实际上正在开发一个基于 freeRTOS 的机器人项目。我在控制机器人车轮速度的 PI 控制器上遇到了一些问题。
问题是当误差达到0.0而不是稳定时开始振荡。
stm32 - STM32 HAL Nucleo F446RE 正交编码器
我的 STM32F446RE / NUCLEO-F446RE的定时器 TIM3 的正交编码器模式有问题:
TIM3 在第一个信号的每个上升沿计数。
CNT
寄存器向上计数,我以 1 Hz 读取值,然后将寄存器设置为 0 。当我查看 示波器时,频率是CNT 寄存器输出 (1hz) 值的一半 。
为什么?
TIM3 在第一个信号的两个边沿上计数。CNT 寄存器输出 (1 Hz)完全 错误。
我的配置是:
stm32 - SPI 配置为主
我需要在 Nucleo STM32F103RB 中将 SPI_1 配置为主机。这是我到目前为止所做的(Keil uvision 4)。
但是我需要为多个从站设置 nSS。我怎么做?我应该使用哪些 GPIO 引脚将 nSS 引脚连接到多个从机。
另外我最多可以附加多少个奴隶?
stm32 - STM32f103复位后不会进入UART中断
我HAL_UART_Receive_IT
以前在中断模式下开始通过UART接收数据,我对板子编程后似乎工作正常,因为UC进入HAL_UART_RxCpltCallback
了,但是在重置板子后它突然停止进入它。有谁知道怎么回事?
eclipse - 在没有可用调试信息或程序代码之外的地址“0xXXXXXX”处中断
配置:
使用 Nucleo-L476RG。使用 GNU ARM Eclipse。我从 STM32CubeMX 生成了一个极简代码。我已经在我的板载 ST-Link 中刷新了 J-link 驱动程序。
一直在尝试为我的代码运行调试器,但我的程序计数器未设置为 main()。相反,它无法读取某个内存地址。错误“在地址“0xXXXXXXXX”中断,没有可用的调试信息,或在程序代码之外。” 出现。
我已经包含了屏幕截图和调试器日志,我们可以在其中看到错误。
请帮忙
图片:
https ://ibb.co/bBRHxn https://ibb.co/mGDKA7 https://ibb.co/mE4gOS https://ibb.co/fh5AHn https://ibb.co/jNFMOS https:// /ibb.co/ibmT3S https://ibb.co/gpJaiS https://ibb.co/jgaMOS
日志:
c - STM32 F302R8 Nucleo I2C 不工作
我在 ATMega328 和 STM32 F302R8 控制器之间开发 i2c 通信时遇到问题。
在 Cube 生成的 st 控制器的初始化代码下方。
}
我添加了HAL_I2C_MspInit(&hi2c2);
将引脚设置为正确模式的调用。
线程的函数 SerialMain 部分,将定期调用。
在尝试传输 Hello World 消息后,HAL_I2C_Master_Transmit 将返回 HAL_TIMEOUT。
有人知道它为什么返回 HAL_TIMEOUT 吗?
有人知道如何成功传输数据吗?
c++ - 如何在 for 循环中制作切换按钮?
我正在使用 NUCLEO F401R0 微控制器制作时钟。它有一个物理按钮,当通过我初始化的“按钮”对象按下时输出 1。有 3 个嵌套的四个循环来控制小时、分钟和秒的增量。我正在尝试在最里面的 for 循环中编写一个控制秒数的切换按钮。当按下按钮时,我想在将显示的两个变量之间切换。如何在最里面的 for 循环中进行切换操作,同时保持循环连续?
我目前对上述代码的问题是,如果我将 ss 的增量保留在 for 循环中,它会一次执行 60 次增量。我可以通过在按下按钮时递增来解决这个问题,但这意味着用户必须连续单击按钮才能运行时钟。