问题标签 [stm32f0]

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 回答
316 浏览

c - stm32f051r8t6 TIM14 中断处理程序在复位后不工作

我正在使用 STM32CubeMX 将代码生成到 IAR 中,并且我正在使用 stm32f051r8t6 微控制器,我遇到的问题是,当第一次将代码加载到芯片上时,一切正常,但是在板上或 IAR 调试器上按下重新启动后,没有进入 TIM14 中断处理程序,但是一旦我离开调试器并再次进入,它就会开始工作,直到我按下重新启动。有没有人遇到过这个问题?我的代码如下

0 投票
2 回答
2386 浏览

stm32 - stm32和外接flash(w25q)连接问题

我想用STM32 micro(stm32F030F4)从外部闪存(Winbond W25Q16BV)读/写。但在“HAL_SPI_Init()”函数上运行进程停止。

我检查了调试过程,发现了 HAL_SPI_STATE_BUSY。但我不知道为什么?

我正在使用 STM32CubeMX 生成主项目和 Keil IDE 来编写和调试。

这是我们的示意图: 在此处输入图像描述

不幸的是,我没有找到一个很好的例子/说明如何使用外部 SPI 库。对此问题的任何帮助都将受到高度赞赏。

0 投票
1 回答
229 浏览

android - 如何使用 P-NUCLEO-USB002 通过 USB type C 与 Android 设备通信?

我们是巴黎一所普通工程学校 ECE Paris, Lyon 工程周期二年级的学生。作为我们年度增强项目的一部分,我们目前正在开展一个旨在减少智能手机电池退化的项目。如果您有兴趣,请随时查看我们的概念介绍。

https://docs.google.com/presentation/d/16K5bK914NotrKLLLOuzBLQY73Q2vPNgH9Ro1W5MMYjI/edit?usp=sharing

我们的原型将基于钛酸锂电池和P-NUCLEO-USB002 套件,以利用USB type-C的功能,例如供电协议。我们的目标是首先通过 USB type-C 电缆将 Android 智能手机连接到开发板,并实现Android Open Accessory Protocol 2.0。智能手机上的应用程序将允许用户选择充电速度。选择将被发送到微控制器,微控制器通过供电协议可以调整负载。

然而,我们很难找到有关如何实施各种协议的信息。我们已经下载了各种软件,例如:STM32CubeMX、Atollic TrueStudio for STM32、STMStudio 和 STM32 ST-LINK Utility。是否有其他软件需要购买或更合适的软件?

有人可以通过提供一些资源来帮助我们,使我们更容易在 Android 和上述工具包之间建立通信吗?

谢谢您的帮助。

0 投票
2 回答
159 浏览

i2c - STM32F030F4 在 Bare Metal 中无法正确启动 I2C1

STM32F030F4 无法正确启动 I2C1。这是我的代码:

但输出不正确。它是这样的: 在此处输入图像描述

SDA 端口不工作。

0 投票
2 回答
244 浏览

stm32 - 在闪存中的应用程序之后放置引导加载程序

我为我的 STM32F042k6 板编写了一个运行良好的引导加载程序。在系统重置时,引导加载程序启动,稍后可以跳转到应用程序。那很棒:)。现在我希望在我的 Flash 中做相反的事情。我希望在 0x08000000 以外的起始地址启动我的引导加载程序,比如说 0x08007000。当我在链接器脚本中进行修改时,无法调试程序。简而言之,我希望将引导加载程序放在 Flash 的末尾。不要忘记,引导加载程序始终是复位后运行的第一个代码。提前感谢您的帮助和评论这是我的链接器脚本:

0 投票
2 回答
583 浏览

embedded - STM32F030F4P6 仅在从闪存启动时运行中断处理程序。从引导加载程序启动时重置

编码 -

如问题中所述,当我直接从闪存启动(BOOT0 连接到 GND)时,此代码工作得很好,但在使用引导加载程序时它不起作用。一旦引发中断,芯片就会重置并再次返回引导加载程序。我怎样才能解决这个问题?
我应该提到我使用了一个自定义链接器脚本和一个经过大量修改的boot.s

0 投票
1 回答
3875 浏览

flash - 使用 STM32F042K6 从用户代码跳转到系统引导加载程序

编辑: 为了 devan 的解决方案,我设法使用 STM32F042K6 从用户代码中跳转系统引导加载程序。

引导.h

引导程序


擦除闪存页面后如何重置 STM32 微控制器?

我的目标是使用 STM32F042K6 微控制器从用户闪存中跳转系统引导加载程序。但在AN2606 应用笔记STM32 微控制器系统内存启动模式中它说;

由于本产品存在空检查机制,因此无法从用户代码跳转到系统引导加载程序。这种跳转将导致跳转回用户闪存空间。但是如果用户 Flash 的前 4 个字节(位于 0x0800 0000)在跳转时为空(即在跳转前擦除第一个扇区或在 Flash 为空时从 SRAM 中执行代码),则系统引导加载程序将在跳转时执行。

因此,我将除 main() 之外的函数放在 ROM 0x08007C00 - 0x08007FFF(我的闪存的最后一页)中。在我的主要功能中,我正在调用擦除功能 - 位于我的微控制器闪存的最后一页 - 并擦除第一页。它成功擦除了第一页,但之后我无法在软件中重置我的微控制器或无法跳转到系统引导加载程序。微控制器卡在某个地方,但我找不到。但是当我用复位引脚复位微控制器时,它会从系统引导加载程序启动。这意味着如果我能以某种方式重置微控制器,我将实现我的目标。

我打开其他解决方案。我的代码是这样的;


0 投票
1 回答
178 浏览

stm32 - 如何在没有 Std Lib 和 CubeMX 的情况下在 STM32F042k6 上实现 CAN 总线

几天以来,我一直在尝试为上述电路板实现 CAN 总线通信,但没有成功。我希望只使用寄存器来做到这一点。有人可以就我应该如何进行一些提示吗?或链接?提前致谢。

0 投票
0 回答
96 浏览

c - 我在同一个响应缓冲区中收到了发送的命令和响应

我在一个项目中使用 SIM800 和 STM32F0。我正在使用 UART 协议进行它们之间的通信。发送 AT-COMMAND 并等待响应后,我得到了两个 (AT-CMD + RESP) 示例:

在所有应用笔记和响应缓冲区中,我们只是得到这样的响应:

有什么提示吗?

0 投票
1 回答
2831 浏览

interrupt - STM32CubeIDE 卡在 SysTick_Handler

我为 STM32F030CC mcu 创建了一个新的 STM32CubeIDE 项目。我在 PA8 上添加了一个 GPIO 输出端口来启用/禁用 LED。现在我试图通过调用来延迟切换HAL_Delay。但我的问题是,SysTick_Handler没有调用中断。

我有点卡住了,因为我没有找到可行的解决方案。我需要自己设置 systick 中断吗?或者有人有一个与 STM32F030CC 配合使用的示例项目?

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述