问题标签 [stm32]

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

stm32 - 省电模式 STM32F205RG

我正在使用 STM32F205RGT6 Cortex-M3 微控制器并使用 IAR Embedded Workbench 进行编码。

我计划在大多数情况下将微控制器保持在省电模式,除非外部组件尝试通过 SPI(STM32 微控制器是 SP 从机)或通过 USB 进行通信。

一个外部组件通过 SPI (PB12-15) 连接,PC 通过 USB (PA11-12) 连接。通信工作正常 - 我已经测试了 SPI 和 USB。我想一旦我完成了 SPI 和 USB 的设置,我将调用一个省电函数并在中断服务例程的末尾添加相同的函数调用。我找到了我尝试使用的 PWR_EnterSTANDBYMode 和 PWR_EnterSTOPMode(在 stm32f2xx_pwr.h 中)。但是,通过这种安排,我无法与微控制器建立任何通信(SPI 或 USB)。

是否需要配置一些额外的东西(例如哪些引脚应该唤醒微控制器)?我使用了错误的功能吗?还是错误的头文件?你能给我举一个类似这种情况的例子吗(我在 ST 的网站上找不到类似的东西)?

欢迎任何建设性的反馈。

0 投票
4 回答
21589 浏览

c++ - 如何使用 STM32 MCU 生成 REAL 随机数?

我正在使用 keil microvision IDE 中的 STM32F103E arm cortex-m3 MCU 进行项目。
我需要为某些目的生成随机数,但我不想使用标准 C++ 库正在生成的伪随机数,所以我需要一种使用硬件功能生成 REAL 随机数的方法,但我不知道如何我能做到。
任何的想法?(我是软件工程师而不是电子专业人士,所以请简单描述一下:P)

0 投票
2 回答
2179 浏览

c - 格式化打印到循环缓冲区

我正在为 STM32F3 mc (STM32F3-Discovery) 编写嵌入式代码。我需要向 UART 输出一些数据,并且为此使用 DMA,因为这使我可以专注于传感器读取和数据处理,而不是等待字节传输完成。然而问题是我必须结合:

  1. 格式化输出(即来自 printf 的一些输出)
  2. 多次连续打印(发生在上一次打印完成之前)

所以我在考虑一个循环缓冲区。但我认为我不知道如何让 sprintf 尊重缓冲区的结尾并继续写入缓冲区的开头。我当然可以创建另一个临时缓冲区,在那里打印并逐字节复制,但它对我来说并不优雅。

0 投票
2 回答
6753 浏览

embedded - 网络摄像头与 stm32 接口

我想使用 STM32F4 微控制器接收视频流,然后使用 rtsp 协议通过以太网流式传输。

我需要你们告诉我,哪种电路最适合与 STM32 连接。

我可以通过 USB OTG 将网络摄像头与 STM32 连接吗?(我对usb协议有基本的想法,但问题是我拥有的网络摄像头不受linux支持所以没有驱动程序的代码源,所以没有端点引用......)

是否可以通过调试 USB 流量来定义触发视频(流)批量传输的端点和特定于供应商的命令?

或者,您会推荐另一种电路,该电路提供易于与 STM32 接口的视频流。

我知道这是一种疯狂的事情,但我想问这会有多难?

让我知道你对这个项目的看法?

PS:项目的rtsp部分不是本题的目的。

提前致谢。

0 投票
1 回答
621 浏览

stm32 - Jtag 无效确认

我在带有 sysfsgpio bitbang 接口的 ARM9 上使用 OpenOCD,并尝试调试 Cortex M3 stm32f103 微控制器。使用的操作系统是嵌入式 debian。不幸的是,在获得设备 ID 后,我不断从目标收到错误的 ACK(警告,jtag DP 事务中的无效 ACK 0x4)。

您对导致问题的原因有任何见解吗?我在示波器上绘制了每个信号,没有发现任何问题,我还使用 olimex jtag-key 检查了目标设备,它正在工作。

0 投票
3 回答
24384 浏览

timer - TIM4 上的 STM32 旋转编码器配置

我正在尝试将 TIM4 用于我的 STM32F4DISCOVERY 板上的正交编码器输入。这是我的代码:

可悲的是,当我转动编码器时,TIM4->CNT 计数器不会移动。我与 TIM8 完美配合。这是工作 TIM8 和不工作 TIM4 的完整代码: https ://gist.github.com/nraynaud/5082298

手动移动编码器后,我通过在 gdb 中打印 rT2() 进行检查。

0 投票
1 回答
1831 浏览

gdb - ARM (STM32fxx) 的 OpenOCD (Olimex) 最终启动序列出错

我在 Eclipse 中为 arm STM32F10x 系列使用 openOCD,在编写整个代码并在程序中构建所有内容后,我将对其进行调试,完成 99% 的过程后出现以下错误:

最终启动序列中的错误 无法执行 MI 命令:
-exec-run 来自调试器后端的错误消息:创建进程时出错

生成以下错误,我无法调试我的程序。所以请帮我解决这个问题

0 投票
2 回答
10688 浏览

c - Stm32 虚拟 COM 端口 - 无法连接

这是一个代码,是我项目的一部分;

将我的 USB 插入电路后,虚拟 COM 端口驱动程序安装正确完成,LED 闪烁也正常。

但是当我尝试通过超级终端或第三方工具连接 COM 端口时,我无法实现。

有意见吗?

谢谢..

0 投票
1 回答
493 浏览

c - 我可以使用递归来处理 GPIO 吗?

我是使用基于 ARM Cortex M3 的 STM32f100RB 的新手。我试图使用递归来处理 GPIO 输入,但它不起作用。谁能告诉我为什么?代码如下。当GPIOa Pin 0为1时,它应该设置GPIOc Pin 9。但是它不起作用..

我不确定我是否可以发布这样的问题。如果不合适,请告诉我。谢谢。

0 投票
2 回答
5097 浏览

c - 为什么STM32编程中需要无限循环?

我正在用 C (gcc) 编写一个 STM32F4,它是一个 ARM Cortex M4,我看到所有示例都以无限循环完成了它们的 main() 函数,即使程序的其余部分将从中断中执行。如果我尝试从我的程序中删除循环,中断也会停止被触发。

为什么我不能删除这个循环并退出主线程?

这是程序集(我猜是拇指,但我看不懂,即使有文档):