问题标签 [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.
c - 为什么 USART2 发送垃圾值?
您好,我正在使用 stm32f103c8,我正在尝试使用 usart2,但它不起作用。当我使用与 USART2 相同配置的 USART1 时,它对我很有效。但是 USART2 向 PC 终端发送垃圾 有人可以帮我解决 USART2 中的问题吗?
这是 USART2 的配置:
这是适合我的 USART1 配置
serial-port - 为什么 HAL_UART_Transmit_DMA() 不适用于 Nucleo F103RB 上的串行端口?
我有以下代码,其中大部分是由 STM32CubeMX 生成的。(我省略了生成的大量评论,以使其可读。)
DMA 是在 STM32CubeMX 生成器中设置的,所以应该是正确的。
当我运行这段代码时,它一开始就陷入无限循环while(!txDoneFlag);
,这意味着它HAL_UART_TxCpltCallback()
永远不会被调用。
这让我觉得我需要做一些进一步的事情来启用 DMA。
我怎样才能HAL_UART_Transmit_DMA()
工作?
我已经尝试对生成的MX...
调用重新排序,所以MX_DMA_Init()
在 s 之前调用它...UART_Init()
。
--
更新:请求的代码。所有三个MX_USARTn_UART_Init()
函数都有相同的主体(除了 uart 编号。
serial-port - 使用 HAL_UART_Receive_IT() 和 HAL_UART_RxCpltCallback() 时会丢失字节吗?
我有一些(主要是 CubeMX 生成的)代码:
这成功地回显了 USART3 上接收到的所有内容。(此代码只是了解串行端口的一次性示例。)
我担心HAL_UART_RxCpltCallback()
被调用和HAL_UART_Receive_IT()
设置下一个接收之间的时间。
STM32F103有什么功能可以保证这个时间间隔内数据不会丢失吗?我没有发现任何证据表明 USART 上有超过两个字节的接收缓冲区。
我特别担心某些更高优先级的 USB 设备活动可能会延迟调用HAL_UART_RxCpltCallback()
,因此可能会丢失一个或多个字符。
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 的片段
rust - 使用 OpenOCD 和 arm-none-eabi-gdb 将二进制文件加载到 stm32f103c8t6
我试图加载从 rust 代码编译的二进制文件,但它不起作用。
首先,我从https://github.com/rust-embedded/discovery下载了 Rust 代码。然后,我建立了它。
它已成功编译。
之后,我使用 OpenOCD 成功连接了 stm32f103c8t6。然后,我运行这个命令。
但它似乎没有读完。
(尚未完成?!)
之后,我尝试了load
命令,但它返回了以下句子。
我不知道为什么它不起作用。
请帮我。
c - 构建 make 文件 arm 微控制器
我们买了一个用stm32f103制作的ECU仿真器,源文件附在上面。但是没有文件(BIN或HEX)并且有一个需要构建的make文件,但是当我尝试创建它但对我来说是不可能的,如果你有这个过程的经验,谢谢你指导我...
最良好的问候。
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
- 控制流 = 无
我怎样才能解决这个问题?
stm32 - 清除 stm32f103 中未决的 EXTI 中断
我试图通过切换 PC14 来切换 PC13 上的 LED,问题是在不切换 PC14 的情况下一直调用中断处理程序,并且未使用 EXTI->PR 寄存器清除挂起的中断,也没有使用调试器手动清除。我也尝试在 NVIC->ICPR 中清除它,我不确定为什么有两个寄存器用于清除相同的中断。
这是我的代码,您可以在https://github.com/AymenSekhri/tinyHAL-STM32f103/tree/master/STM32F103-HAL/tinyHAL
中找到标题