问题标签 [cubemx]
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 - 如何在 CubeMX STM32 中使用 LL(低级)驱动程序?
我正在使用 STM32CubeMX 为 STM32F103 微控制器创建一个空白项目。使用 HAL 驱动程序(默认),我得到了一个快速运行的闪烁示例,但我想尝试 LL(低级)驱动程序而不是 HAL。
当我在 CubeMX 中转到项目 > 设置 > 高级设置时,我看到列出的外围设备,每个外围设备旁边都有一个下拉菜单,只有一个选项,HAL。根据文档,这是我可以为每个外围设备选择 LL 或 HAL 的地方。
如何在 STM32CubeMX 中启用 LL 驱动程序?
详细信息:我在 Ubuntu (16.04) 上全新安装了 STM32CubeMX (4.23.0),并为 STM32F103C8 微控制器创建了一个新项目(这是在“Blue Pill”板上)。我正在使用 SW4STM32 IDE,除了我必须在配置文件中选择 STLink V2 而不是 V2.1 之外,所有东西或多或少都是开箱即用的。
stm32 - STM32 HAL Nucleo F446RE 正交编码器
我的 STM32F446RE / NUCLEO-F446RE的定时器 TIM3 的正交编码器模式有问题:
TIM3 在第一个信号的每个上升沿计数。
CNT
寄存器向上计数,我以 1 Hz 读取值,然后将寄存器设置为 0 。当我查看 示波器时,频率是CNT 寄存器输出 (1hz) 值的一半 。
为什么?
TIM3 在第一个信号的两个边沿上计数。CNT 寄存器输出 (1 Hz)完全 错误。
我的配置是:
i2c - CubeMX - I2C DMA - 需要帮助 - ST32F1
HAL_I2C_Mem_Write_DMA/HAL_I2C_Mem_Read_DMA 有什么问题?
您好我正在尝试使用 LIS35(加速度计)在 DMA 模式下运行 I2C。我编写了如下简单的代码,但是每次尝试运行或调试它时,我都会返回“LIS35_ERROR;” 这意味着 LIS35_I2C_Init(void) 函数出错了。
以前(我的意思是昨天)我写了两个类似的项目:
首先是基于 HAL_I2C_Mem_Write / HAL_I2C_Mem_Read 函数 - 并且一切正常(返回 LIS35_OK;)
其次是基于 HAL_I2C_Mem_Write_IT / HAL_I2C_Mem_Read_IT 功能 - 并且一切正常(返回 LIS35_OK;)
环境:
- STM32CubeMX - 今天更新,
- 板 - Nucleo-F103RB
- CubeMX 项目作为附件添加
- I2C 配置如下图所示
提前感谢您的帮助:-)
法恩克
timer - STM32F0 TIMx 预分频设置对更新中断没有影响
我从 STM32CubeMx 生成了我的代码,并希望每 1µs 生成一个更新事件。我使用 48MHz 的内部时钟,这应该是 Prescaler:0 和 Autoreload:47 结果为 1µs。我使用带有 TrueStudio V.9.0.0 的 STM32F030
生成的代码
我在我的初始化中添加:
在 IRQ_Handler 我切换一个 PIN:
用代码刷新我的设备后,它会生成一个频率为 889kHz 的信号,脉冲宽度为 564ns,用示波器测量。预分频器或自动重载的更改不会影响此输出,它会立即保持在 T_Pulse=564ns 或 F=889kHz。知道我在这里缺少什么吗?
注册调试输出:
stm32 - HAL_SetDate 将年份设置为错误值
我将 STM32F030RCT6 与 CubeMX 一起使用。设备是一个数据记录器,而 RTC 是不能失败的主要东西。在勘误表上有一些关于 RTC 影子寄存器的内容。
我将CubeMX配置为不生成MX_RTC_Init()
函数,目前运行正常。(我正在使用伦敦政治经济学院)
我需要从 GSM 时间更新时间/日期,但是当我将年份设置为18时HAL_SetDate()
,我读了一小段时间后HAL_GetDate()
,sDate.Year
给了我20。除了Year
,其他值都是正确的。
我尝试了什么:
- 二手 LSI
- 而 (HAL_SetDate != HAL_GetDate) HAL_SetDate(ActualDate)
- 先
HAL_GetDate
然后HAL_SetDate
我没有进步,事情甚至变得更糟,比如Month
= 56,Day
= 45等。
提前致谢。最好的祝福。
microcontroller - stm32f407调试问题
我有自己的项目,使用 stm32f407 单片机。我正在使用 st-link 上的发现工具包来刷新我的项目。此外,我使用 cubemx 工具来配置项目的 HAL。
问题是,在生成 HAL 层时,我检查了电源优化复选框,默认情况下将未配置的引脚配置为模拟输入,而我没有配置 swdio 和 swclk 引脚。
我可以刷一个,但我无法再次连接到项目板。我尝试使用 NRST 并将 stlink 配置为在重置下进行连接,但没有成功。当连接到 GND 时,NRST 引脚不做任何事情????!!!
知道如何擦除闪烁的 SW 以获得再次闪烁的能力吗?
stm32 - stm32多通道不同采样率
我正在做一个项目,我需要在 STM32F4x 上使用两个具有不同采样率的 adc 通道。我需要以最小采样率监控直流电压 (Vbat) 的第一个通道。同时,我将使用另一个通道来拾取 ECK,采样率约为 1Khz。我打算使用 DMA 解决 CPU 负载问题。
我的问题是我只需要 DMA 用于 ADC 通道,而我不需要它来监控 VBAT。我将如何使用具有不同采样率的 2 个 ADC 通道?
c++ - 在我的 nucleo-L432KC 上设置时钟以使用 DMA 进行 5 通道 adc 转换
所以我一直在尝试在我的 Nucleo-L432KC 上设置我的 ADC 转换并且一直很难。我最近一直在研究 Nucleo-F303RE,它是一个 64 针 nucleo,我的 5 通道 ADC 转换使用 DMA,效果很好。然后我决定降级为 nucleo-L432KC(32 pin nucleo)。我使用了与 F303 相同的步骤,但这次它不起作用。我看了一下,发现它永远不会进入 HAL_ADC_ConvCpltCallback。另一篇谈论它的帖子使 stm32 ADC DMA 工作缺少什么?不发生转移竞争. 这篇文章的解决方案说核心时钟与ADC转换时钟相比要慢,因此没有挥动调用函数的时间。我正在研究 CubeMx 上的时钟系统,并且很难设置时钟。f303RE 更加前卫,而这个我有点迷路了。任何人都对我应该改变什么以使这项工作有一些提示。这是立方体 mx 设置:瞧。这是我的 DMA 设置:
这是我的 adc 设置:
最后是我的代码:
这是我的新 DMA Init 函数:
stm32 - LwIP PPPoS 库之间有什么区别?我应该使用哪一个,STM32CubeMX 提供的还是基于示例的?
当我使用 STM32CubeMX 时,它给了我如下来源:
https://github.com/tabascoeye/lwip/blob/master/src/netif/ppp/pppos.c
功能 pppos_create(..), pppos_input(..) , ppp_connect(..)
当我查看像 1 年前创建的示例时,它的用法如下:
https ://github.com/bosch-ros-pkg/stm32/blob/master/src/transport/lwip/src/netif/ppp/ppp .c
带有函数 pppInit()、pppOverSerialOpen(..)。
由于文件位置(...stm32/blob/master...),最后一个库似乎专门用于 STM32。你有没有和我一样的感觉?我已经看到http://lwip.wikia.com/wiki/PPP也使用了最后一个来源。我应该使用哪一个?