首页 文章
  • 2 votes
     answers
     views

    STM32F303:带DMA的ADC只能工作几次

    我目前正在使用具有STM32F303RE芯片的Nucleo-64电路板 . 对于编程,我使用带有STM32软件包的Arduino IDE . 我现在想避免使用HAL,因为我认为当你必须同时学习寄存器和库函数时,它会相当混乱 . 我希望能够以5.1 Msps(F303的最大值)并行采样4个输入信号 . 我的计划是保持ADC运行 . 然后,当我想取样时,我重置DMA标志并将计数器(CNDTR-Regi...
  • 0 votes
     answers
     views

    使用STM32L TIM PWM控制 Servo 电机

    所以我试图通过PWM使用STM32L1来控制 Servo . 下面是完整的代码,不需要库 . 当我上传并运行此代码时, Servo 计时几次,而不是实际平滑地移动到所需的位置600(0 *),1100(50 *),1600(100 *)和2100(150 *) . 我相信这与预分频值计算有关,而且我不确定在微秒内提及ARR是否正确,如果没有,我如何将其配置为读取微秒而不是毫秒 . 有关更多详细信...
  • 1 votes
     answers
     views

    stm32f103 ADC采样率

    我在这里设置了adc样本时间周期: ADC_RegularChannelConfig(ADC1, ADC_Channel_17, 1, ADC_SampleTime_71Cycles5); 如何从stm32f103中计算出ADC的采样率?
  • 1 votes
     answers
     views

    C为双指针赋值

    我正在研究微处理器stm32f103上的一些C代码 . 由于从堆中分配内存不稳定,我不鼓励使用C库函数 malloc() 和 free() 等 . 相反,我想在编译期间提前声明一大块静态内存,并重新分配内存以适应我的伪动态内存分配目的 . 我的新malloc实现在我的计算机上进行测试时运行正常,但是当我为malloc执行双数据类型时,它在stm32上崩溃了 . 这是我的malloc实现 . 我知道...
  • 0 votes
     answers
     views

    STM32F302 Adc,带有不同大小和通道的DMA

    我正在使用STM32F302 QFN32,不幸的是,它只有一个ADC模块 . 一个通道必须在一个周期内获得大约500个采样,并且必须与PWM同步(使用定时器进行思考,这个i / o将在回调中切换,因为在读取其ADC通道时,我必须知道i / o是否高或低,以便根据此值,将决定值) . 此外,还有4个通道必须读取 . (之前不需要更多样本,8或16个样本就足够了 . )但是,它只有一个ADC模块 . ...
  • 0 votes
     answers
     views

    在STM32F7上,由APB1定时器触发的DMA失败

    我有带STM32F723IEK MCU的STM32F7 Disco板 . 尝试从定时器触发DMA请求会导致DMA错误,但仅适用于连接到DMA1的APB1组(TIM2到TIM7和其他)的定时器 . 对连接到DMA2的TIM1和TIM8执行相同操作也可以正常工作 . 错误表现为在相应的DMA LISR或HISR寄存器中设置TEIFx标志,并在第一次事务后立即禁用DMA . NDTR寄存器递减1 . ...
  • 0 votes
     answers
     views

    STM32F303x6中心对齐PWM ADC时序HAL

    我想实现中心对齐PWM并根据图42设置ADC触发 . 我只能使用定时器2实现这一点,因为中心对齐PWM是通过定时器2完成的,但我不知道这是否均匀有可能吗?从我发布的第二张图中你看到只有两种触发器可能性,“捕捉比较2事件”和“触发事件”,我应该选择哪一个?
  • -4 votes
     answers
     views

    将stm32 ADC值写入SD卡

    我无法从stm32 adc中写入的sdcard读取uint数据(在文本文件中) . 我能够将数据写入SD卡,但是当我在我的latop中打开txt文件时会出现奇怪的符号 . 我正在使用SDIO和FATFS
  • 0 votes
     answers
     views

    了解一些ADC指令

    我正在尝试在 stm32f4 中编写一个adc . 我想知道这五条指令的作用是什么? ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; ADC_CommonInitStructure.ADC_DMAAcces...
  • 2 votes
     answers
     views

    如何将读取ADC值转换为Float?

    我想将ADC值转换为浮点数 . 这是我的代码: uint32_t ADCValue; char str[15]; ADCValue = HAL_ADC_GetValue(&hadc1); ADCValue=ADCValue*3.3/4095; sprintf(str, "%d", Voltage); ...
  • 2 votes
     answers
     views

    如何阅读多通道ADC值?

    我可以使用此代码 ADCValue = HAL_ADC_GetValue(&hadc1); 从ADC1_IN1通道读取ADC值,但ADC1端口(可以看到图片)有很多通道 . 如何读取ADC1_IN2中的值?如何在代码中描述通道2?
  • 3 votes
     answers
     views

    Windows 10 - 清除USB枚举/驱动程序

    摘要 我正在使用STM32F072 Discovery board为自定义USB设备开发固件和PC测试应用程序 . 该设备包括PC上的WinUSB驱动程序的Microsoft Windows Compatible IDs (WCIDs) to enable automatic installation . 该设备在其他Windows 10主机上正确枚举,但在我的Windows 10开发PC上没有 ...
  • 0 votes
     answers
     views

    STM32f4 HID接收数据

    如何在设备模式下作为HID(USB)运行的STM32f407发现板中从HOST PC接收OUT报告数据?可能吗?我正在考虑使用hidapi从主机发送数据 .
  • 2 votes
     answers
     views

    如何将项目从一个STMFx系列移植到同一系列中的另一个STMFx系列

    我对ST系列MCU的语言/术语/术语有点困惑,我认为这阻碍了我的进步 . 一点背景:我是一名EE,通过使用AVR平台的必修大学课程,学到了我对FW的全部了解 . 喜欢它,非常简单易用 . 快速浏览唯一的数据表,然后敲打你're abstracting away! Macro',pound定义等等......真是太简单了!你写了一个 main.c 和一个Makefile,用avr-dude编译和解雇...
  • 0 votes
     answers
     views

    使用stm32L476RG的ADC配置进行斗争

    我在一个项目上工作,我想使用ADC转换(我在stm32L476上工作),但我正在努力使用我的代码 . 我的目标是在地面和我的3.3引脚之间放一个电位器,然后用Putty在PA1上看到结果 . 这是我的ADC初始化的代码: void BSP_Threshold_Init(){ //Enable GPIOA clock RCC->AHB2ENR |= RCC_AHB2ENR_GP...
  • 0 votes
     answers
     views

    从带有Nucleo-f401re主板的Lepton FLIR相机获得连续流

    我将我的Flir Lepton相机连接到我的主板上,并且我正在尝试连续的图像流,这要归功于程序ThermalView(源代码:https://github.com/groupgets/LeptonModule/tree/master/software/ThermalView)我编译并在我的主板上下载了以下代码: int main(void) { //HAL_Init(); /* Con...
  • 4 votes
     answers
     views

    即使没有使用STM32 gcc(arm-none-eabi-gcc)也链接printf

    我似乎无法弄清楚为什么一些 printf 库函数从libc_nano.a链接到我的代码中,即使我从不使用任何 printf . 它窃取了至少2K宝贵的闪存空间 . 我可以在链接器映射文件中看到 _printf_i , _vfprintf_r , _vfiprintf_r 等部分 . 我试过了 Wl, - exclude-libs选项链接描述文件中的 EXCLUDE_FILE(..) 这些都...
  • 0 votes
     answers
     views

    STM32F401 Nucleo SPI时钟问题,使用STM32CubeF4

    STM32F401RE - > CortexM4我使用SPI1和HAL低电平驱动器STM32CubeF4 . 我使用了以下SPI配置: - SPI_HandleTypeDef hspi; hspi.Instance=SPI1; hspi.Init.Mode=SPI_MODE_MASTER; hspi.Init.Direction=SPI_DIRECTION_2LINES; hspi.Ini...
  • 0 votes
     answers
     views

    无法读取FatFS中大于2K的文件

    我正在运行FreeRTOS的STM32F103平台上读取带有FATFS文件系统的SPI Flash文件 . 我可以成功读取大小小于2048的文件,但是如果读取大小大于2048的文件文件,(因为我正在以128字节的块读取)它只读取2048字节并且f_read在文件时返回'FR_INT_ERR'错误指针移动到2048字节以上的位置 .
  • 0 votes
     answers
     views

    SPI NAND FLASH上的FATFS集成

    我正在尝试在Micron NAND SPI FLASH上集成FATFS文件系统 . 我正在使用STM32L486RG的SPI外设作为接口 . 我开发了一个低级驱动程序,通过它我可以读取,写入和擦除NAND存储器中不同位置的数据 . 然后,我在 diskio.c 文件下集成了我的低级驱动程序API,以便 fatfs API可以使用它们 . 我已经通过 f_mkfs 成功格式化了内存(我正在使用 f...
  • 0 votes
     answers
     views

    w25q128fw外部spi flash没有响应从stm32发送的命令

    我正在使用Winbound的外部闪存W25Q128FW和STM32L4微控制器,我试图让它们通过SPI总线进行通信 . 我的问题是,我的请求没有响应w25q . 例如,当我发送“get_id”协议时,它应该发回ID(如数据表中所述),但我在闪存的DO引脚上没有任何东西(所以没有答案) . 我使用STM32CubeMX来设置引脚(GPIO和SPI),这是它们的配置: SPI引脚 static voi...
  • 0 votes
     answers
     views

    如何使用W25Q32FV SPI FLASH?

    正如我从带有STM32F103RCT6 CORTEX M3的winbond W25Q32FV的SPI FLASH开始 . 我正面临一个理解事情如何运作的真正问题 . 我正在使用CUBEMX . 首先,我选择RCC作为晶体/陶瓷谐振器,并将我的时钟配置为72MHz . 然后我将SPI1配置为FULL DUPLEX MASTER . 我只有3个引脚(PA5 - SCK,PA6- MISO,PA7 ...
  • 26 votes
     answers
     views

    嵌入式系统上的malloc行为

    我试图了解当RAM满时 malloc() 如何在普通的 C 上行为 . 我的STM32有20kB = 0x5000Bytes的RAM,0x200用于堆栈 . #include <stdlib.h> #include "stm32f10x.h" struct list_el { char weight[1024]; }; typedef struct lis...
  • 8 votes
     answers
     views

    STM32F411:是否真的需要清除外部中断标志?

    我已经购买了STM32F411核板,现在我正在尝试了解HAL的各种零碎 . 从外部中断开始似乎是一个好主意,因为电路板有一个连接到PC13的按钮 . 所以我设置了一个简单的切换频率闪烁 . 下面的代码有点简化: #define LED_PIN GPIO_PIN_5 #define BTN_PIN GPIO_PIN_13 static uint32_t blink_period = 250; i...
  • 0 votes
     answers
     views

    STM32F429外部中断边沿

    我使用的是STM32F429I-Discovery板,板上有一个连接到PA0的按钮,PA0又连接到外部中断线0(EXTI0) . 使用HAL库,我可以使用外部中断在下降沿或上升沿切换LED . 例如,一旦我按下按钮,LED就会改变状态,或者只有在我松开按钮后才会改变状态 . 我想要做的是在上升沿中断,启动定时器,然后再次在下降沿中断,以停止定时器 . 我不知道如何实现这个目标? 还有一个选项可以在...
  • 1 votes
     answers
     views

    带有GNU ARM EABI的Eclipse CDT

    我 Build 了一个环境 . 我倾向于在链接时无法识别文件格式 . 我已经启用了详细信息,如果有人对此有答案,请告诉我 . 01:14:38 构建配置项目测试器的调试 make -j all'构建目标:testerr.elf''调用:交叉ARM C链接器'arm-none-eabi-gcc -mcpu = cortex-m3 -mthumb -O0 -fmessage-length = 0 -...
  • 1 votes
     answers
     views

    使用GCC配置FreeRTOS(ARM)

    我是RTOS和ARM Cortex MCU的新手 . 我需要使用带有STM32L053核板的FreeRTOS GCC mbed.org库 . 我已经使用GCC mbed qt-creator成功创建了一个工具链,但我需要将FreeRTOS添加到这个组合中 . 我已经有一个项目使用FreeRTOS和相同的目标,所以我假设我可以在我的文件中使用该项目中的FreeRTOS文件 . 但该项目是使用不同的编...
  • 0 votes
     answers
     views

    Trace不适用于运行FreeRTOS的STM32F103C8T6

    切割代码并使用运行FreeRTOS的STM32F103C8T6进行切换我在内部任务的引脚13上进行了简单的LED闪烁(切换) . 我想在此设置中使用Trace来监视任务执行 . 执行完所有步骤后,需要通过Percepio完成并在使用ST-Link V2捕获和加载数据后,我无法看到任何跟踪数据 . 在编译并将其加载到目标之后,PC13 LED闪烁,但是使用ST-Link实用程序将数据保存为十六进制并...
  • 1 votes
     answers
     views

    要包含哪些库以防止“未定义引用'_exit'”?什么是newlib?

    基于Limifrog STM32L board examples,我正在尝试为ARM开发设置自己的工具链(基于STM32F40x) . 我收到一个错误: C:\Users\pmu\embedded\empty_stm32>make arm-none-eabi-gcc -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -I ...
  • 0 votes
     answers
     views

    STM32f207ZG NUCLEO板,ld.exe:section .RxDescripSection VMA [2000e000,2000e09f]重叠部分.bss VMA [20000118,2001431b]

    我正在使用基于NUCLEO-F207ZG板和stm32f207ZGT的继承项目,作为IDE我使用SW4STM32(Eclipse,AC6) . 这个项目在其他电脑上编译正常,但由于距离原因,我不能用它来比较配置 . 导入后没有错误我尝试编译它得到控制台输出: 构建目标:STM32F207ZG_NUCLEO_144.elf调用:MCU GCC链接器arm-none-eabi-gcc -mcpu =...

热门问题