问题标签 [stm32f7]

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

arm - 如何在运行时处理 SD 卡的移除和添加?

我在 STM32F7 板上使用带有 SDMMC 接口的 SD 卡。我正在关注这个视频,项目进展顺利。https://www.youtube.com/watch?v=0NbBem8U80Y

在程序运行并可能写入时,我无法安全地移除 SD 卡并重新插入它。我可以安全地取出卡,但是当我在同一次运行中重新连接它时它不起作用。

0 投票
1 回答
564 浏览

c - 在 STM32f779ii 上设置双组模式

我正在尝试为 STM32F779II 设置双组模式,但根本没有设置。

所以我在做任何事情之前主要尝试了以下代码

当我尝试检查内存是处于单模式还是双模式时:

但这种说法永远不会成立。

0 投票
0 回答
60 浏览

c - STM32F779ii 上的写保护

我正在尝试擦除 STM32F779II 的闪存。

启动文件以该部分开头:

所以我要离开这三个部分。

我正在尝试清除扇区号 22。但出现写保护错误。

这就是我听到它的方式。

Sectors 是一个包含一个元素的数组,它是22地址 为 0x081C0000的扇区号

0 投票
1 回答
118 浏览

c - 从闪存 STM32F779II 运行软件

我想从闪存地址运行我的固件:0x08040000

所以我对软件的内存布局进行了分区,如下所示:

我的启动看起来像这样:

问题是:固件没有进入主要功能,它总是在一个 .c 文件中跳转到某个地方。哪里有问题 ?

0 投票
0 回答
1066 浏览

microcontroller - SD 卡和 FatFs 的问题(安装、打开文件)

我对 FATF 库和 STM32F7 系列有一些问题。我想将 SD 卡(32GB、SanDisk、FAT32)与 F746G-Discovery-Board 连接以在其上保存一些数据。(起初是 .txt 文件,后来阅读 .csv 文件以可视化一些测量数据)。

我的问题是,f_mount函数给了我一个“FR_OK”,但在下一步我不能用f_open打开一个文件。我通过一步步调试找到了问题所在。它位于 FatFs 库的 ff.c 文件中。

此时程序停止。跳入函数问题如下

所以 SD 卡没有初始化/安装?但是为什么 f_mount 会给我 FR_OK?

如果有人可以提供帮助,那就太好了。谢谢!

我尝试了以下事情:

- 格式化的 SD 卡 (exFat,..)

-其他路径

主要:

0 投票
1 回答
474 浏览

c - STM32F746NG-Discovery:第一次 ADC 读取后程序卡住

我正在尝试从连接到我的电路板的 arduino shield 读取 ADC 值。Arduino shield 是经过测试的定制板,当检测到传感器和手指之间的接触时,它会发送数据。

我使用 STM32Cube IDE 开发了一个程序,能够读取这些值并定期显示。该程序基于 STemWin 示例。不幸的是,在第一次从程序中读取后,该值没有更新,其余功能不再起作用。程序卡住了。如果我注释定期从 ADC 读取数据的代码,则程序正常工作。

这是我的主要内容:

以下是 MX_ADC3_Init 和 MX_GPIO_Init 函数的内容:

最后是 GUIThread 函数,它在主函数中被称为线程。

最后的 while 循环包含允许我定期从 GPIOPin0/ADC3Channel0 读取值的代码。自从我重置电路板后,它第一次起作用,值正在改变。但随后程序卡住了。我需要你的帮助来了解我做错了什么。非常感谢你。

0 投票
3 回答
2422 浏览

c++ - 如何使用 TouchGFX 在 LCD 屏幕上显示 ADC 值?

我想在stm32f746G - DISCO板上的液晶屏上显示 adc 值。主要挑战来自于集成 TouchGFX 软件。这会生成输出小部件和通配符所需的模型、视图和演示器文件。我相信我已经正确设置了我的 adc 引脚 PF10,因为我能够使用以下方法获取 main.cpp 中的 ADC 值:

但我的主要目标是在我的液晶屏幕上显示这个。我有 touchGFX 设置,我可以在 View.cpp 中将浮点数输入到通配符。例如:

我将向您展示我的模型、视图和演示者 cpp 文件,以演示我的问题所在。

模型.cpp

查看.cpp

演示者.cpp

我从此构建中得到的唯一错误是 model.cpp 中的“hadc3 未在此范围内声明”。

如果我能从我的代码中获得任何见解,我将非常感激。除此之外,我的代码有效,因为我可以使用触摸屏上的按钮打开和关闭 LED,我可以在我想要的屏幕上打印一个浮点数,并且我可以获得 adc 值在 main.cpp 中。我只需要它在每个滴答声中都显示在屏幕上。

0 投票
1 回答
683 浏览

c - 如何使用 LWIP 和 FreeRTOS 让多播在 stm32f7 上工作

嗨,我正在尝试使用 LWIP 和 FreeRTOS 在 STM32f7(NucleoF767zi-board)上启动并运行 UDP 多播套接字。

我已经实现了 LWIP 和 FreeRTOS 中间件,它似乎工作正常。我还设置了一个 Windows 程序,它将多播消息发送到 239.192.0.4 端口 60003,并在我的网络上的其他设备上测试了消息可以正常接收。但是当我使用 STM32f7 处理器时,一切似乎都工作正常,但它没有收到任何东西。

我使用从类似指南中找到的这段代码加入多播组,并且在调试代码时没有出错:

然后我有一个 FreeRTOS 任务,我尝试打印从 recvfrom() 接收到的数据,但 recvfrom() 仍然被阻止,就像它从未收到任何东西一样。此外,当我可以看到我的其他设备接收到来自多播组的消息时,就好了。

我设置了以下标志:在 lwipopts.h 中:

在 ethernetif.c 中:

在 stm32f7xx_hal_eth.c 中:

我没有收到任何错误,所以我很迷茫,在这一点上会很感激任何提示。

0 投票
1 回答
477 浏览

image-processing - YCbCr 视频输入 STM32F746

我正在开发基于 STM32F746 的定制板,该板与 LCD 和 ADV7180 视频解码器 IC 集成。

我将 ADV7180 配置为在自由运行模式下运行。使用 DCMI 获取相机数据到指定的缓冲区。

我正在尝试将 YCbCr 4:2:2 数据转换为 RBG 数据。我正在获取线路事件。. 从实时事件中,我正在执行以下代码将其转换为 RGB,然后使用 ARGB888 将其加载到 LCD。

LCD_FRAME_BUFFER 0xC0000000 LCD_FRAME_BUFFER_LAYER1 0xC0130000 CAMERA_FRAME_BUFFER 0xC0260000

我已经用 LCD_FRAME_BUFFER 初始化了 LCD,并且我只使用单层。

我正在转换数据并使用中间 LCD_FRAME_BUFFER_LAYER1 缓冲区将其复制到 LCD_FRAME_BUFFER。

DCMI --> CAMERA_FRAME_BUFFER --> 转换 --> LCD_FRAME_BUFFER_LAYER1 --> DMA -> LCD_FRAME_BUFFER

但是,我没有将自由运行模式屏幕作为蓝屏。

在此处输入图像描述

0 投票
1 回答
105 浏览

stm32f7 - DMA2(外围到内存)流 2 通道 l6 在 24 字节后停止工作

我想使用 DMA2 读取 GPIO 引脚上的 UART 消息。该板是STM32F72ZE。我能够得到一个数据包(26 字节),但我得到的下一个数据包出错。此代码取自 STM32F4 的 ST 库。

这是一个小程序(之前,我为 GPIO、DMA2、TIM1 启用了 CLOCK):

我没有在这里放置 EXT1 的中断处理程序(连接输入线的地方)。EXT1 中断配置为失败。

说明: EXT1 信号失败后,我调用UART_Emul_SetConfig_DMARx()函数创建 DMA 中断,然后我制作字节数据并存储到全局缓冲区。它工作正常,直到我收到最后一个字节的数据包。也许字节之间的大延迟使得难以获得下一个字节?