zoukankan      html  css  js  c++  java
  • STM32CubeIDE使用%f

    简介

    在STM32CubeIDE编译器下使用sprintf、vsprintf等函数时出现处理%f会导致硬件错误,此处记录修改方法.

    平台

    1. 软件版本
      STM32CubeIDE v1.3.1 + STM32CubeMX v5.6.1

    2. 库版本
      STM32L0 HAL v1.11.2 + FreeRTOS v10.0.1

    问题记录

    在FreeRTOS创建的任务内部使用vsprintf函数处理%f导致硬件错误,但是在FreeRTOS任务之外的程序使用vsprintf函数处理%f可以整行运行

    解决方法

    1. 工程配置
      Project->Properties->C/C++ Build->Setting->Tool Setting->勾选 Use float with printf from newlib-nano(-u_printf_float)

    2. 代码配置
      在FreeRTOS Kernel启动之前使用一次vsprintf、sprintf函数,可以是直接使用函数,或者是调用使用过这些函数的函数接口

  • 相关阅读:
    linux getch()实现
    cppcheck 下载与安装(Liunx)
    apt-get 命令
    nanopb 文档
    VS调试技术
    c 单元测试 check
    GDB 调试
    GCC选项 –I,-l,-L
    作业66
    zhuoye
  • 原文地址:https://www.cnblogs.com/niu-li/p/12916616.html
Copyright © 2011-2022 走看看