问题标签 [stm32ldiscovery]
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 - C代码从stm32F修改为stm32L
我正在尝试学习和掌握嵌入式 C,所以我只是要测试我在 Github 上找到的代码,该代码是为 STM32F4 发现板构建的。我实际使用的开发板是STM32L152。当我尝试构建/运行代码(显然它不起作用)时,我得到的错误主要与未定义的函数或“标识符'function_name'未定义”有关,请注意代码文件包含一个库(库)。看一下代码文件: https ://github.com/TDAbboud/STM32F4_Examples/tree/master/04_PWM_Servo
一般来说,要在STM32L1上成功运行代码需要做哪些修改?
谢谢
c - 在stm32l100中不工作待机模式
我正在调整待机模式stm32l100
。MCU应该每秒唤醒 2 次。为此,我使用RTC 唤醒定时器。但在MCU进入STANDBY模式后,它会立即唤醒。
如果改为待机模式,我使用简单的睡眠模式(__WFI)一切正常。
我的代码在这里
MCU启动后
一个。保存标志CSR_SBF和CSR_WUF,然后清除它们。
我注意到CSR_SBF永远不会清除。如果我取消注释字符串,
while
则MCU停在它的位置。我不明白为什么。湾。保存重置源标志,然后清除它们。
在MCU从STANDBY唤醒后,所有复位源标志都被清除。似乎没有重置源,但代码从 0x0 执行。
调整RTC 唤醒定时器
/li>进入待机模式
/li>
c - 连接 HC-SR4 超声波传感器与 STM32L1
当检测到距离小于 1m 的物体时,我试图通过简单地打开 LED 来控制这个 HC-SR4 超声波传感器。我使用 TIM2 作为触发信号(引脚 PB10),使用 TIM4 接收回波信号(引脚 PB6)。LED 连接到引脚 PB7。当我加载下面的代码时,LED 只是打开,不管有没有物体,它只是打开。
知道我哪里出错了吗?
stm32 - STM32 UART/USART 接收问题(无中断)
我正在尝试通过发现板上的数据传输和接收数据到 PC 上的终端UART/USART
。stm32L476
我能够将数据传输到 PC,但我无法接收任何数据。
我的代码如下:
如果您知道问题,请告诉我。我已经尝试移除连接到操纵杆的电阻器,该操纵杆也连接到USART2
.
timer - 如何以 1MSPS 的更新速度操作 DAC?
这是我使用 DMA 的 DAC 代码。我想生成频率为 8kHz 的三角波,DAC 以 1MSPS 的更新速率运行。我正在使用 CUBEMX 和系统工作台。我正在为 DAC 使用定时器触发器。我正在研究 stm32L476 发现板。当我尝试将更新速率设置为 1MSPS 时,我没有收到任何通知。当我将更新速率设置为 500ksps 时,会得到斜率不均匀的三角波。谁能告诉我我应该怎么做才能解决这个问题以及我应该怎么做才能让我的代码按需要运行?
azure - Makefile,如何链接冲突的 3rd 方源?
请帮我创建一个合适的 Makefile。
我正在尝试在 Linux 上使用 gcc-arm-none-eabi 编译 STM32L4 Discovery Azure 演示固件。我使用 STM32CubeMX 生成的 Makefile 并使用 kiel 项目文件 (.uvprojx) 中的文件和设置填充它。不幸的是,结果以链接错误终止。经过一些挖掘和脏补丁后,我能够让 Makefile 运行而没有错误。我的目标仍然是创建一个合适的 Makefile。如何在链接期间防止第 3 方代码发生冲突?
Src/azure_base64.c
看起来只是一个包装
https://github.com/acornblue/AZURE_LAB
链接错误 -
stm32 - STM32F3 Discovery board ADC DMA传输不工作
我正在使用 STM32F303(探索板)并尝试从定时器信号 TRGO2 外部触发 ADC 转换,并通过 DMA 将其存储到缓冲区。但是,似乎没有任何东西被写入该缓冲区。有人可以看看我的初始化代码,如果我在初始化过程中搞砸了,请告诉我?我知道定时器触发有效,因为我能够在启用 ADC 中断时读取 ADC 值。
下面是相关的ADC和DMA寄存器内容:
ADC2 CR:0x10000005
ADC2 CFGR: 0x00000683
DMA1_CH1 CCR: 0x000025A3
DMA1_CH1 CNDTR: 0x00000002
DMA1_CH1 CPAR:0x50000140
DMA1_CH1 CMAR: 0x2000001C
stm32 - STM32探索板+读码保护
是否可以在 STM32 探索板上启用读数保护?首先,我尝试了 STM32F429I-DISC1,但在使用“stm32f4x lock 0”命令启用 RDP(我使用的是 Linux/OpenOCD)之后,MCU 似乎在发送解锁命令(并编写新固件)之前无法工作。然后我在此板文档中找到以下声明:'已知限制: • 激活 ST-LINK/V2-B 目标上的读出保护,防止目标应用程序在之后运行。ST-LINK/V2-B板上的目标读出保护必须保持禁用。
之后我尝试了 TM32L100CDISCOVERY - 它的文档没有这样的限制说明,还有它的 ST-LINK/V2 板,而不是 ST-LINK/V2-B。但我有完全相同的行为 - 一切正常 - LED 在我编程时闪烁,但在锁定后(使用 'stm32lx lock 0' 命令和随后的电源循环) - 目标 MCU 不做任何事情。
因此,看起来根本没有任何发现板支持 RDP 保护,如果我想使用此功能 - 我无论如何都需要制作自定义设备?或者它可能与股票演示板,但我做错了什么?
锁定的完整命令序列如下所示:
.. 或 stm32F4x 代替 stm32lx 用于 STM32F429I 板
embedded - 在 stm32l4 上禁用写保护
有谁知道如何禁用写保护或检查用户地址是否被写保护?我正在使用 stm32l4xx 系列,并希望通过程序中的嵌入代码而不是使用 STM32 ST-Link Utility 来实现。任何例子都非常感谢。谢谢
microcontroller - 引导加载程序 STm32
我尝试使用 stm32L073Rz 核板的内部引导加载程序(系统内存)进行闪存。我已阅读文档 AN2606、AN3155 并将 BOOT0 引脚设置为 1。默认情况下,核板上的 USART2 可通过 stlink 接口访问,并且引导加载程序使用相同的 USART2 来监听数据,我在 ubuntu 中使用 GTK 术语通过/dev/ttyAMC0(USART2) 但无法从设备接收 ACK,如 AN3155 中所述,我正在向设备发送 0X7F。此过程是否有效,或者是否有更好的替代方法与引导加载程序进行通信?