问题标签 [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.

0 投票
0 回答
60 浏览

stm32ldiscovery - STM32L-发现错误信息?

我正在尝试对 stm32l-discovery 板进行编程,并遇到了在我尝试构建项目时不断出现的这个错误。

我正在使用 Keil uVision 4。

资源:

有谁知道这是什么意思?

0 投票
1 回答
605 浏览

c++ - 为什么我会收到此类型转换错误

我收到此编译器错误 ../include/BlinkLed.h:46:68: 错误:从“int”转换为“uint16_t {aka short unsigned int}”可能会改变其值 [-Werror=conversion]

当我在 GPIO_SetBit/GPIO_ResetBits 函数上将引脚作为 u16 类型传递时,

如果我用恒定值调用相同的函数,例如。

GPIO_SetBits(BLINK_GPIOx(BLINK_PORT_NUMBER),BLINK_PIN_MASK(15)); 程序编译并运行良好。如何避免此编译错误,但仍将引脚作为参数传递。

0 投票
1 回答
5841 浏览

stm32 - PLL 时钟配置

我正在使用 STM32L152RB 板,我正在尝试将系统时钟配置为使用 PLL 时钟,但 RCC_FLAG_PLLRDY 标志正在设置,因此程序卡在 while 循环中。请让我做错了什么

0 投票
0 回答
1264 浏览

c - STemWin STM32F746G-DISCO 与小部件库

我正在使用 STM32 的新板,并从 GUIBuilder 中添加了简单的页面,从包含的软件到库。当我运行我的代码时,例如单击滑块小部件时,我遇到了一些错误。滑块更改了他的值,但是当我单击屏幕的其他部分(未安装在小部件中)时,他的值仍然会更改。整个屏幕只关注这个小部件。我使用 STM32 为这个开发套件提供的 CubeF7 的 LCD 设置。我还包括了负责我的窗口的部分代码,这些代码不起作用。也许有人有同样的问题,或者我使用了错误的文件。

0 投票
1 回答
867 浏览

embedded - 使用 STM32f3discovery 初始化 SSD1305 OLED

我正在尝试运行基于SSD1305 OLED 控制器和 stm32f3discovery 板的 OLED WEX012864GL 。我用 31 针排连接了电路板,第一个针绑定在 3V 上,最后一个针绑定在 PD9 上(这是电路板的左上针排)。代码看起来像这样:

当我在板上运行代码时,观察到一个非常奇怪的结果 - 显示屏无法正常工作,直到我按下重置按钮,屏幕短暂亮起然后又变暗。这可能是什么原因?

0 投票
1 回答
1275 浏览

assembly - 这个装配延迟功能有多少秒的延迟?

我需要帮助解决这个装配延迟功能,谁能帮我计算一下这个装配延迟功能需要多少秒的延迟?它是 STM32L152-DISCOVERY 板的编码,这里是它的页面: http: //www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515

0 投票
1 回答
1057 浏览

stm32 - STM32 DMA:缓冲区中剩余的字节,编码?

很长一段时间以来,我一直在以某种形式与两个 STM32 板进行 DMA 通信。我目前的问题如下。

我有一个运行以下代码的主机(树莓派),等待开发板初始化通信:

基本上,它会等待一个字节的数据,然后将“中午防御”发送到电路板,然后打印发回的所有内容。

板子首先发送一个字节,然后等待所有传入的数据,替换几个字节并将其发回。请参阅本文末尾的代码。该板可以是 STM32L100C 或 STM32F407(实际上是发现板);在这一点上,我正在经历与两者相同的行为。

我看到的输出(在美好的一天 - 在糟糕的一天挂起Written 16 bytes)如下:

如您所见,数据已发送并按预期替换了四个字节,但前面多出了两个字符(^J,或0x5Eand 0x4A)。这些结果是signal_host函数的直接结果。当我用任意的东西(例如)替换字符时x,这就是在该位置输出的内容。有趣的是,它实际上会在沿途的某个地方\n转换为插入符号。^J这似乎发生在与电路板的通信,因为当我简单地在缓冲区中硬编码一个字符串并将dma_transmit其发送到非交互式主机程序时,它就可以很好地打印出来。

看起来我以某种方式错误配置了 DMA,因为有些缓冲区没有被正确清除。此外,我并不真正相信主机端程序使用 stty 的方式。但是,过去我实际上使用这个确切的代码进行了完美的通信。我将它与存储在我的 git 历史记录中几个月的代码进行了比较,但我找不到差异/缺陷。

请注意,下面的代码使用libopencm3并基于libopencm3-examples 中的示例

STM32L1代码:

STM32F4代码:

0 投票
1 回答
2135 浏览

stm32 - 无法运行 STM32 L1 Discovery 板

我有新鲜的STM32 L1发现板,它似乎坏了。但我不完全确定。

当通过 USB 将开发板连接到 Linux 机器时,开发板完全正常启动,并且演示工作与供应商描述的一样。

但我无法真正连接到这块板。

电路板似乎已连接,用于在 ST-LINK 和 DISCOVERY 之间切换的大跳线 (CN3) 设置为 DISCOVERY。但是当我尝试使用我收到的 st-link 实用程序时。

OpenOCD 也无法与董事会对话。

板载芯片为STM32L152RCT6。我之前使用过 STM32F0..4 并且从未遇到过这样的问题,但是我之前没有使用过 L 系列,所以我不确定这是电路板问题还是我在这里跳过了一些重要的问题。

编辑:使用 OpenOCD 我发现不是预期的行为。在第一次运行时,我收到错误:

在第二次运行:

然后设备从系统中消失,dmesg留下消息:

我认为适配器速度可能存在问题,但我现在不确定。

EDIT2:我尝试使用 Windows ST Link Utility,但无法连接到电路板,电路板导致“检测错误”或“连接错误”,软件建议更改 SWD 频率或模式。我厌倦了几乎所有的组合,但没有一个有效。

EDIT3:如果这对某人有帮助,则板已被退回,我得到的信息表明它实际上已损坏并且我有新的。新的按预期完美运行。

0 投票
3 回答
2900 浏览

c - STM32L0 的自动波特率检测

我无法在STM32L0. 我正在使用硬件抽象层(HAL)。

我的初始化代码是:

我通过 UART1 发送的字节是:

为什么没有检测到波特率?我试过了:

UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBITUART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE

所以我调整了模式设置的顺序和驱动程序中的启用:

什么都不做。

此外,以下似乎很好:

时钟源频率必须与预期的通信速度兼容(16 倍过采样时,波特率介于 fCK/65535 和 fCK/16 之间。8 倍过采样时,波特率介于 fCK/65535 和 fCK/8 之间)。

我过采样 16,所以

我选择的波特率是:19200/ 9600 /2400 /300

0 投票
2 回答
1902 浏览

c - STM32L476G Discovery 上的 USART 通信

我有两块板:一个 NUCLEO-F411RE 和一个 STM32L467G Discovery。

我需要在我的 STM32L467G Discovery 和我的 PC 之间建立一个 Virtual Com 连接。

对于 NUCLEO:USART2 连接到 ST-Link,因此我可以通过 USB 上的 USART 与我的 PC 通信。所以,我启用了 GPIO A和 USART2 时钟。之后,我将我的 GPIO A配置为连接 USART2 上的端口 2 和 3,它运行良好!我可以在我的电脑上接收一些字符。

对于 STM32L467G Discovery:STM32L467G Discovery 在端口 2 上也有 USART2,在 GPIO A上也有 3。但是,在文档中,他们说 USART2 通过 GPIO D的端口 5 和 6 上的 USART2 与 ST-Link 连接。所以,我修改了我的源代码,但我的电脑收不到任何东西..

检查我的来源:

主程序

此代码在 Nucleo NUCLEO-F411RE 上运行良好(但使用 GPIO A和端口 2 和 3)。

在我的 STM32L467G Discovery 上,该代码完全失败,GPIO D端口 5 和 6 && GPIO A端口 2 和 3。

我看不到问题,你能帮我吗?