问题标签 [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 - STM32F7 SPI 中断停止与 FreeRTOS 一起工作
我正在通过 SPI 通信使用 stm33F7 读取传感器,它在仅从机接收模式下工作,我可以在没有操作系统的情况下完美地在中断模式下读取数据,但是当我在随机时间中断停止触发后启用 FreeRTOS(使用 STM32CUBE)时。我还通过 UART 通信从另一个传感器读取数据,有无操作系统,在两种模式下都可以正常工作,使用 SPI 中断和 FreeRTOS 有什么问题吗?
c - BMA253 加速度计芯片 ID 接收错误
我正在使用 4 线 SPI 将 BMA253 加速度计与 STM32 探索板连接。我正在使用 CUBEMX HAL 库。作为第一步,我试图从传感器寄存器 0x00 中读取芯片 ID。应该读取的芯片是 0xFA。在while循环中添加以下代码只是为了验证。由于 SPI 是低电平有效协议,我已将 PIN_2 默认配置为高电平。
由于它处于无限 while 循环中,因此对于前两个循环周期,我在结果中得到 0xFF。然后在接下来的两个循环周期中,我得到了正确的芯片 ID,即 0xFA。然后我在接下来的两个循环周期中得到 0xFF,并且这种模式是无限交替的。
我无法理解为什么我先收到 0xFF 然后再收到 0xFA。
延迟不匹配会不会有问题?我觉得100ms应该没问题。
我也觉得 SPI Receive 的实现不正确。我很担心,因为 SPI Read 是检索加速度数据的重要功能,所以这个功能是关键。
我要求任何人请建议我如何使其完美运行。任何帮助将不胜感激。
提前致谢。
编辑:现在工作 1. 按照 theSealion 的建议将第一位设置为高。2. 此外,我必须根据传感器要求将 SPI 配置中的 CPOL 和 CPHA 配置为模式 0 或模式 3。
stm32 - 在 STM32CubeIDE 中更改自定义 HID 的属性/生成代码的正确方法是什么
我正在尝试使用STM32F103C8创建自定义 HID 设备,我选择的 IDE 是 STM32CubeIDE,我关注的 教程位于 ST youtube 官方频道。
ST提供了很棒的工具“设备配置工具”,我可以在其中配置微控制器,并且会生成很多基于我的配置的代码。该生成的代码具有“用户代码部分”,用户可以在其中创建他的逻辑,如果他需要重新配置微控制器,“设备配置工具”将不会删除该部分代码。
问题:要配置自定义 USB HID,我需要在没有用户代码的地方更改由“设备配置工具”生成的代码,如果我再次运行“设备配置工具”,这些更改将被删除。我只能在“设备配置工具”中设置的字段是:
但这还不够,我还需要更改 CUSTOM_HID_EPIN_SIZE 和 CUSTOM_HID_EPOUT_SIZE 定义表示设备和主机一次相互发送的字节数,如果我更改“数据包”的大小,我将需要更改默认生成的回调接收该数据并使用它的函数,例如该工具生成如下代码:
但我需要指向“Report_buf”的指针,而不是它的副本,以便s first 2 elements, and the default generated code pass only copy of 2 first bytes, and i can
在“设备配置工具”中更改它。
我目前的解决方案:实际上我解决了这个问题,但我认为我没有以正确的方式解决它并且它有效。我已经更改了此处的模板文件“STM32CubeIDE_1.3.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_5.6.0.202002181639\db\templates”并且还更改了“STM32CubeIDE_1.3.0\en.stm32cubef1. zip_expanded\STM32Cube_FW_F1_V1.8.0\Middlewares\ST\STM32_USB_Device_Library\Class\HID"
我认为这不是正确的做法,有人知道做这件事的正确方法吗?
我在这里的 ST 论坛上也发现了同样的问题,但没有解决。
ethernet - STM32H743 中的 IEEE 1588 PTP 时钟源
我正在尝试获取PTP
时间戳STM32H743 Nucleo
。LwIP
到目前为止,以太网驱动程序没有问题,除了PTP
. IEEE 1588 timestamping
我遵循了参考手册 ( ) 上的说明 ( 58.9.7 Programming Guidelines for ) RM0433
,如下所示。
但是,系统时间秒数寄存器 ( ETH_MACSTSR
) 不计数,只是将初始值加载到系统时间秒数更新寄存器 ( ETH_MACSTSUR
) 中。在参考手册中没有关于时钟源的明确信息PTP
。在中,时钟配置页面中有如下图所示STM32F7
的时钟路径。PTP
CubeMX
但是,如下图所示, PTP
in没有时钟路径。STM32H7
我是否遗漏了一些关于从寄存器中获取系统时间的ETH_MACSTSR
信息ETH_MACSTNR
?
cmake - Clion (stm32的嵌入式开发) CMake not found arm-none-eabi-gcc 编译器
通过 .bashrc 将 bin 文件夹添加到 PATH。控制台命令运行良好:
使用 STM32CubeMX 在 Clion 中制作项目后 cmake 未配置:
但是 bin 文件夹已经在 PATH 中!!!
如果通过 pacman 安装 toolchail 或将 bin 文件夹的所有内容复制到 /usr/bin/,Clion 会查看编译器,但找不到其他文件,如 nano.specs、nosys.specs、stdint.h 和其他包含。
我不知道如何将 Clion 和 CubeMX 指向工具链的正确路径。
stm32 - 带有 STM32f103c8t6 Bluepill 和 CAN 总线的 HAL_CAN_ERROR_PARAM
我正在努力通过带有 stm32f103 bluepill 板和 SN65HVD230 收发器(端接)的 CAN 总线发送消息。在另一端,我使用终止的 USB 可以适配器,工作正常。CAN 总线速度为 500kbit/s。
SN65HVD230 的连接:
CubeMX 中的配置
固件版本 1.8.0。这是main.c
在调试器中调用 HAL_CAN_AddTxMessage 3 次(3 个邮箱?)后,在 hcan.ErrorCode 中显示 0x200 错误,即定义为 HAL_CAN_ERROR_PARAM。看起来所有邮箱都已满,没有消息发送到总线。
任何想法如何调试这个问题并让它工作?
c - STM32cubeIDE 忽略我的代码并使用 MX 配置
我有个问题。STM32cubeIDE中是否有禁用CubeMx的选项?
我只想使用UART。所以我在 main.c 文件中编写了 PIN 和 UART 配置。但是 CubeMX 已经配置了 UART 的引脚,完全忽略了我的引脚配置。
当我不知道是否必须在代码或 CubeMx 中配置某些内容时,这非常烦人。
提前感谢您的回答。