首页 > 其他分享 >正点原子sys.h文档详解

正点原子sys.h文档详解

时间:2023-02-23 22:26:24浏览次数:40  
标签:Addr GPIOx sys 正点 详解 DHT11 GPIO DQ define

文档主体内容为位带的映射,目的是实现位带操作。

第一部分:位带映射的宏函数

1 #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 
2 #define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr)) 
3 #define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum)) 

第二部分:STM各GPIO的输入寄存器 (IDR)、输出寄存器寄存器(ODR)映射地址

//x范围:A~G
1 #define GPIOx_ODR_Addr (GPIOx_BASE+12) 2 ..... 3 #define GPIOx_IDR_Addr (GPIOx_BASE+8) 4 .....

第三部分:上述各寄存器的位带区域

1 //x范围:A~G,n范围:[0,15]
2 #define Pxout(n)   BIT_ADDR(GPIOx_ODR_Addr,n)  //输出 
3 #define Pxin(n)    BIT_ADDR(GPIOx_IDR_Addr,n)  //输入 

 

 

使用办法:

实现后,可将Pxout(n)\Pxin(n) 再宏定义,例如

1 #define    DHT11_DQ_OUT PAout(0) //数据端口    PA0出方向 
2 #define    DHT11_DQ_IN  PAin(0)  //数据端口    PA0入方向

其中,

DHT11_DQ_OUT = 1/0, 可以代替:GPIO_SetBits/ResetBits(GPIOB,GPIO_Pin_0)
DHT11_DQ_IN ,可以代替 GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)

标签:Addr,GPIOx,sys,正点,详解,DHT11,GPIO,DQ,define
From: https://www.cnblogs.com/FBsharl/p/17149667.html

相关文章

  • CPU AMX 详解
    CPUAMX详解CPUAMX详解概述算力如何问题定义AVX如何解决矩阵乘问题AMX如何解决矩阵乘问题如何实现的计算部分数据部分路才开始概述2016......
  • Java集合Set接口详解——含源码分析
    前言前几天我们看了​​Java集合List接口详解——含源码分析​​,今天我们看一个数据一个数据存储的另一个接口——Set。Set前面我们说List最大的特点是:​​有序,不唯一​​,而......
  • Syslog协议-RFC5424 + RFC3164
    RFC5424协议手册地址:​​https://tools.ietf.org/html/rfc5424​​​RFC3164协议手册地址:​​​https://tools.ietf.org/html/rfc3164​​Syslog常被用来......
  • 结构体详解
    这是一篇介绍C语言结构体基本知识的博客,包含结构体声明,笔者在使用时曾犯过的一些错误等。一、背景在编程中,我们常会遇到一些复杂对象,其中包含各种类型的数据,而我们又需......
  • Django 模型 Meta 选项详解
    1.了解Meta内部类每个模型类(Model)下都有一个子类Meta,这个子类就是定义元数据的地方。Meta类封装了一些数据库的信息,称之为Model的元数据。Django会将Meta中的......
  • C# System.Threading.Timer z
    C#System.Threading.Timer详解及示例阅读目录前言一、两类重载1、Timer(TimerCallback)2、Timer(TimerCallback,Object,Int32,Int32)二、属性ActiveCo......
  • Linux top 命令详解
    如图:前五行分别为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)进程总数、运行中的进程数、睡......
  • 2021全国职业院校技能大赛真题-网络系统管理项目-模块C路由交换部分答案详解
    有线网络配置为优化骨干链路上的流量,需要在全网Trunk链路上做VLAN修剪。所有设备switchportmodetrunkswitchporttrunkallowedvlanonly10,20,30,40,100//在所有需......
  • 2021全国职业院校技能大赛真题-网络系统管理项目-模块C路由交换部分答案详解
    在S3和S4上配置VRRP,实现主机的网关冗余,所配置的参数要求如表1所示。其中,S3、S4上配置各VRRP组中的高优先级设置为150,低优先级设置为120S3interfaceVLAN10ip......
  • Nginx之location详解
    Nginx之location详解https://huaweicloud.csdn.net/63a570c2b878a54545947421.html?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Ed......