zoukankan      html  css  js  c++  java
  • STM32标准外设库中USE_STDPERIPH_DRIVER, STM32F10X_MD的含义

    在项目中使用stm32标准外设库(STM32F10x Standard Peripherals Library)的时候,我们会在项目的选项中预定义两个宏定义:USE_STDPERIPH_DRIVER, STM32F10X_MD,如下图:

    这两个的作用是什么呢?

    1、 USE_STDPERIPH_DRIVER : to use or not the peripheral’s drivers in application code (i.e. code will be based on direct access to peripheral’s registers rather than drivers API) , this option is controlled by the #define USE_STDPERIPH_DRIVER

        即这个定义控制了是否在应用中启用外设驱动。我们使用标准外设库本来就为了方便控制外设,所以要添加这个定义,以启用外设驱动。

    2、STM32F10X_MD:

        STM32有几个大类:

    复制代码
      /* #define STM32F10X_LD_VL */   /*!< STM32 Low density Value line devices */ 
    
      /* #define STM32F10X_LD */      /*!< STM32 Low density devices */ 
    
    
      /* #define STM32F10X_MD_VL */   /*!< STM32 Medium density Value line devices */ 
    
      /* #define STM32F10X_MD */      /*!< STM32 Medium density devices */ 
      /* #define STM32F10X_HD_VL */   /*!< STM32 High density Value line devices */ 
      /* #define STM32F10X_HD */      /*!< STM32 High density devices */ 
    
      /* #define STM32F10X_XL */      /*!< STM32 XL density devices */ 
    
      /* #define STM32F10X_CL */      /*!< STM32 Connectivity line devices */ 
    复制代码

    每种类别都有所区别,例如sram或者flash或者外设数量不一样,所以stm32标准外设库必须根据你使用的处理器来做相应的预处理。

    This define will control the declaration of the following part of the Standard Peripherals library:

    • IRQ channel definition
    • Peripheral memory mapping and physical registers address definition
    • Peripheral pointer declaration and driver header file inclusion
    • Product miscellaneous configuration: external quartz (HSE) value…
    • Peripheral with Features w/ different/incompatible implementation across the family

    Note : This define doesn’t apply to peripheral drivers, these drivers are always supporting features of the family’s superset.

    User has only to select which device he will use by controlling preprocessor define declared in stm32f10x.h file ( No selected device by default) then the library will be configured accordingly。

     

    这两个定义都在stm32f10x.h里面,可以在这里面做定义(把注释去掉),不一定非要在option->C/C++那里添加.

  • 相关阅读:
    【免费赠书】前端程序员修炼之路:积土而为山,积水而为海
    开源网站流量统计系统Piwik源码分析——后台处理(二)
    开源网站流量统计系统Piwik源码分析——参数统计(一)
    数学思维修炼
    《代码大全》中的变量
    linux dmesg命令参数及用法详解(linux显示开机信息命令)
    dd命令使用详解
    Linux就这个范儿 第10章 生死与共的兄弟
    Linux就这个范儿 第9章 特种文件系统
    Bash中的shopt选项
  • 原文地址:https://www.cnblogs.com/-colin/p/9075505.html
Copyright © 2011-2022 走看看