30得票4回答
什么是弱函数,它们有什么用途?我正在使用stm32f429微控制器。

维基百科上说: 弱符号是在可执行文件和可链接格式(ELF)目标文件链接期间特殊注释的符号。默认情况下,没有任何注释的目标文件中的符号都是强符号。在链接期间,强符号可以覆盖同名的弱符号。相比之下,共享名称的两个强符号在链接时间会产生链接错误。在链接二进制可执行文件时,一个弱声明的符号不需要定...

20得票6回答
STM32F4 UART HAL驱动程序

我正在尝试学习如何使用这个新的HAL驱动程序。我想要使用HAL_UART_Receive_IT()来接收数据,该函数设置了当接收到数据时运行中断函数。 问题是在触发中断之前必须指定要读取的数据长度。我打算发送不同长度的类似控制台命令,因此不能有固定长度。我假设唯一的方法就是一个接一个字符地读...

18得票7回答
如何在STM32F4中使用备份SRAM作为EEPROM

在STM32F4上模拟EEPROM有两种方式: 使用片上4K字节备份SRAM 使用片上Flash,配合特殊的软件算法 第二种选项在AN3969中有描述。 但是不幸的是,谷歌没有提供如何使用第一种选项(使用4Kb备份SRAM作为EEPROM)的信息? 有人能在这个话题上提供帮助吗?

14得票1回答
在STM32F4 HAL中为用户数据分配Flash内存

我试图使用STM32F405的内部闪存来存储一些用户可设置的字节,这些字节在重新启动后仍然保留。 我正在使用:uint8_t userConfig[64] __attribute__((at(0x0800C000))); 为了存储我想要的数据,需要分配内存。程序开始时,我会检查第一个字节是否...

12得票5回答
在Linux上将*.hex转换为*.bin用于ARM

我想使用st-flash命令将程序上传到我的STM32F4 Discovery板。问题是当我尝试上传*.hex或*.elf文件时,它就无法工作。我尝试了许多方法(比如使用xxd)将*.elf或*.hex转换为*.bin,但当我上传时它仍然无法工作。是的,我尝试从其他Windows电脑上传hex...

11得票3回答
STM32CubeMX USB CDC VCP?

我找到了很多例子,但在STM32MXCube上没有关于如何“正确”完成的内容。 如果可能,在STM32F4 Discovery上,我如何通过STM32CubeMX创建USB CDC虚拟COM端口通信的框架代码?

11得票3回答
如何在闪存上更改起始地址?

我正在使用STM32F746ZG和FreeRTOS。 闪存的起始地址为0x08000000。但我想将其更改为0x08040000。 我通过谷歌搜索了这个问题,但是并没有找到解决方案。 我按照以下方式更改了链接脚本。MEMORY { RAM (xrw) : ORIGIN = 0x20...

10得票3回答
STM32F4立体声MEMS麦克风

我一直在使用STM32F4 Discovery进行音频项目开发,但是我注意到一个问题:所有的I2S标准都只适用于一个麦克风(具体取决于标准使用的边沿)。例如,对于使用下降沿作为位触发器的Philips、MSB或LSB标准,仅可以捕获接地的左/右声道麦克风,而如果使用上升沿作为位触发器的PCM标...

8得票5回答
如何在STM32F4上使用硬件NSS(SPI)?

我尝试使用NSS硬件信号和HAL库,但是我找不到任何函数来使NSS引脚具有低电平或高电平。我也尝试在HAL文档中寻找答案,但那里也没有任何信息。互联网上的所有示例都只包含软件NSS。 一个人应该如何使用硬件NSS?

7得票1回答
打开ST-Link/V2设备时出现错误-3

我正在尝试在Linux Mint 16上通过Eclipse编译和上传STM32F4 Discovery项目。项目可以正确编译,但在上传时出现以下错误: WARN src/stlink-usb.c: Error -3 opening ST-Link/V2 device 003:007 我正...