问题标签 [stm32f1]

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

c - 为什么 USART2 发送垃圾值?

您好,我正在使用 stm32f103c8,我正在尝试使用 usart2,但它不起作用。当我使用与 USART2 相同配置的 USART1 时,它对我很有效。但是 USART2 向 PC 终端发送垃圾 有人可以帮我解决 USART2 中的问题吗?

这是 USART2 的配置:

这是适合我的 USART1 配置

0 投票
0 回答
261 浏览

embedded - IAR Embedded Workbench IDE - ARM 8.40.2 错误

我正在 STM3210B-EVAL-OS-Probe-v5 模式下测试 IAR。但是,我对 stm32f10x.h 头文件有如下问题。如果您有这种经验,请帮助我如何解决它。

--------------------- stm32f10x.h_

stm32f10x.h

0 投票
1 回答
1052 浏览

serial-port - 为什么 HAL_UART_Transmit_DMA() 不适用于 Nucleo F103RB 上的串行端口?

我有以下代码,其中大部分是由 STM32CubeMX 生成的。(我省略了生成的大量评论,以使其可读。)

DMA 是在 STM32CubeMX 生成器中设置的,所以应该是正确的。

当我运行这段代码时,它一开始就陷入无限循环while(!txDoneFlag);,这意味着它HAL_UART_TxCpltCallback()永远不会被调用。

这让我觉得我需要做一些进一步的事情来启用 D​​MA。

我怎样才能HAL_UART_Transmit_DMA()工作?

我已经尝试对生成的MX...调用重新排序,所以MX_DMA_Init()在 s 之前调用它...UART_Init()

--

更新:请求的代码。所有三个MX_USARTn_UART_Init()函数都有相同的主体(除了 uart 编号。

0 投票
1 回答
4940 浏览

serial-port - 使用 HAL_UART_Receive_IT() 和 HAL_UART_RxCpltCallback() 时会丢失字节吗?

我有一些(主要是 CubeMX 生成的)代码:

这成功地回显了 USART3 上接收到的所有内容。(此代码只是了解串行端口的一次性示例。)

我担心HAL_UART_RxCpltCallback()被调用和HAL_UART_Receive_IT()设置下一个接收之间的时间。

STM32F103有什么功能可以保证这个时间间隔内数据不会丢失吗?我没有发现任何证据表明 USART 上有超过两个字节的接收缓冲区。

我特别担心某些更高优先级的 USB 设备活动可能会延迟调用HAL_UART_RxCpltCallback(),因此可能会丢失一个或多个字符。

0 投票
1 回答
894 浏览

stm32 - STM32 ADC_DMA_UART 数据传输


我正在尝试在STM32F103C8微控制器上实现以下场景。
在 PB11 和 PB10 上,我分别连接了 LED 和 Button。LED 连续闪烁 500 毫秒,但当按下按钮时,它会以 100 毫秒的延迟闪烁 20 次。
我还在 ADC (PA0) 上连接了 UART (PA3-PA2) 和电位器。我的任务是在 DMA 模式下将 ADC 读数传输到 UART。
LED 和按钮中断运行良好,但是一旦我添加了 ADC 和 USART 处理的代码,它就停止工作了。
您能否建议,我在 ADC-DMA-UART 处理中的错误在哪里,我该如何解决?

来自 Main.c 的片段

0 投票
2 回答
1128 浏览

rust - 使用 OpenOCD 和 arm-none-eabi-gdb 将二进制文件加载到 stm32f103c8t6

我试图加载从 rust 代码编译的二进制文件,但它不起作用。

首先,我从https://github.com/rust-embedded/discovery下载了 Rust 代码。然后,我建立了它。

它已成功编译。

之后,我使用 OpenOCD 成功连接了 stm32f103c8t6。然后,我运行这个命令。

但它似乎没有读完。

(尚未完成?!)

之后,我尝试了load命令,但它返回了以下句子。

我不知道为什么它不起作用。

请帮我。

0 投票
0 回答
551 浏览

stm32 - 无法设置选项字节!请重置目标并重试

当我尝试从 stm32f103c8t6 删除读出保护时,我收到一个错误

在此处输入图像描述

像这样连接:

在此处输入图像描述

问题不在控制器中,因为它是全新的。请告诉我我做错了什么

0 投票
0 回答
49 浏览

c - 构建 make 文件 arm 微控制器

我们买了一个用stm32f103制作的ECU仿真器,源文件附在上面。但是没有文件(BIN或HEX)并且有一个需要构建的make文件,但是当我尝试创建它但对我来说是不可能的,如果你有这个过程的经验,谢谢你指导我...

文件

最良好的问候。

0 投票
2 回答
784 浏览

c - 在 STM32F103C8(“Blue Pill”)中通过 UART 传输数据的问题

我是嵌入式系统的初学者。我正在尝试在 STM32F103C8(即Blue Pill板)的 UART2 上写入数据,并希望使用连接到STM32F103C8 板的UART2的FTDI适配器在我的计算机的一个端口中查看数据。但是在我的控制台上,我收到了一些随机的方块,而不是我想要传输的字符。

这是我用Keil IDE编写的代码。

下面我在调试时附上了截图。

点击这里查看截图

您可以看到不需要的方块而不是字符而不是我要传输的字符。在图像中,您还可以看到 UART 寄存器及其值。我正在使用ST-LINK2上传固件。

在处理 FTDI 和Tera Term时,我是否遗漏了一些信息或犯了一些错误?这是我的 Tera Term 配置:

  • 波特率 = 9600
  • 数据 = 8 位
  • 奇偶校验 = 无
  • 停止位 = 1
  • 控制流 = 无

我怎样才能解决这个问题?

0 投票
3 回答
1238 浏览

stm32 - 清除 stm32f103 中未决的 EXTI 中断

我试图通过切换 PC14 来切换 PC13 上的 LED,问题是在不切换 PC14 的情况下一直调用中断处理程序,并且未使用 EXTI->PR 寄存器清除挂起的中断,也没有使用调试器手动清除。我也尝试在 NVIC->ICPR 中清除它,我不确定为什么有两个寄存器用于清除相同的中断。
这是我的代码,您可以在https://github.com/AymenSekhri/tinyHAL-STM32f103/tree/master/STM32F103-HAL/tinyHAL
中找到标题