STM32别名区端口从定义头文件.docx
- 文档编号:25507502
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:24
- 大小:16.16KB
STM32别名区端口从定义头文件.docx
《STM32别名区端口从定义头文件.docx》由会员分享,可在线阅读,更多相关《STM32别名区端口从定义头文件.docx(24页珍藏版)》请在冰豆网上搜索。
STM32别名区端口从定义头文件
/***********************************************
*@filename:
gpioremap.h
*@by:
artisanCO.,LTD
*:
artisan
*@version:
V1.0.0
*@date:
08/06/2010
**************************************************/
/*************************************************
别名区重映射实现端口位操作
GPIOABASEADDRESS0x40010800
ENDADDRESS0x40010BFF
GPIOBBASEADDRESS0x40010C00
ENDADDRESS0x40010FFF
GPIOCBASEADDRESS0x40011000
ENDADDRESS0x400113FF
GPIODBASEADDRESS0x40011400
ENDADDRESS0x400117FF
GPIOEBASEADDRESS0x40011800
ENDADDRESS0x40011BFF
GPIOFBASEADDRESS0x40012000
ENDADDRESS0x400123FF
GPIOGBASEADDRESS0x40012000
ENDADDRESS0x400123FF
GPIO_CLROFFSETADDRESSOX00//GPIOConfiglowreg
GPIO_CHROFFSETADDRESSOX04//GPIOConfighighreg
GPIO_IDROFFSETADDRESSOX08//GPIODataInPutreg
GPIO_ODROFFSETADDRESSOX0C//GPIODataOutPutreg
GPIO_BSRROFFSETADDRESSOX10//GPIOBitSET/CLRreg
GPIO_BRROFFSETADDRESSOX14//GPIOBitCLRreg
GPIO_LCKROFFSETADDRESSOX18//GPIOLOCKConfigreg
计算公式
别名区=ADDRESS=0x42000000+((GPIOXBASEADDRESS-0X40000000+reg
OFFSETADDRESS)*0x20)+(GPIO_Pin_x*4)//X为端口号x为引脚号
*************************************************/
#ifndef__GPIO_REMAP_H
#define__GPIO_REMAP_H
#defineSUBADD0x42000000
#defineuSUBADD0x40000000
#defineGPIOA_BASE_ADDRESS0x40010800
#defineGPIOB_BASE_ADDRESS0x40010C00
#defineGPIOC_BASE_ADDRESS0x40011000
#defineGPIOD_BASE_ADDRESS0x40011400
#defineGPIOE_BASE_ADDRESS0x40011800
#defineGPIOF_BASE_ADDRESS0x40012000
#defineGPIOG_BASE_ADDRESS0x40012000
#defineGPIO_IDR_OFFSET_ADDRESS0x08
#defineGPIO_ODR_OFFSET_ADDRESS0x0c
#defineGPIO_BIT_00
#defineGPIO_BIT_11
#defineGPIO_BIT_22
#defineGPIO_BIT_33
#defineGPIO_BIT_44
#defineGPIO_BIT_55
#defineGPIO_BIT_66
#defineGPIO_BIT_77
#defineGPIO_BIT_88
#defineGPIO_BIT_99
#defineGPIO_BIT_1010
#defineGPIO_BIT_1111
#defineGPIO_BIT_1212
#defineGPIO_BIT_1313
#defineGPIO_BIT_1414
#defineGPIO_BIT_1515
//GPIOAInPutMode
#defineGPIOA_Pin0_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_0*4)))
#defineGPIOA_Pin1_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_1*4)))
#defineGPIOA_Pin2_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_2*4)))
#defineGPIOA_Pin3_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_3*4)))
#defineGPIOA_Pin4_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_4*4)))
#defineGPIOA_Pin5_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_5*4)))
#defineGPIOA_Pin6_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_6*4)))
#defineGPIOA_Pin7_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_7*4)))
#defineGPIOA_Pin8_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_8*4)))
#defineGPIOA_Pin9_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_9*4)))
#defineGPIOA_Pin10_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_10*4)))
#defineGPIOA_Pin11_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_11*4)))
#defineGPIOA_Pin12_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_12*4)))
#defineGPIOA_Pin13_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_13*4)))
#defineGPIOA_Pin14_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_14*4)))
#defineGPIOA_Pin15_InPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_15*4)))
//GPIOAOutPutMode
#defineGPIOA_Pin0_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_0*4)))
#defineGPIOA_Pin1_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_1*4)))
#defineGPIOA_Pin2_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_2*4)))
#defineGPIOA_Pin3_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_3*4)))
#defineGPIOA_Pin4_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_4*4)))
#defineGPIOA_Pin5_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_5*4)))
#defineGPIOA_Pin6_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_6*4)))
#defineGPIOA_Pin7_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_7*4)))
#defineGPIOA_Pin8_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_8*4)))
#defineGPIOA_Pin9_OutPut((volatileunsignedlong*)(SUBADD+(GPIOA_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_9*4)))
#defineGPIOA_Pin10_OutPut((volatileunsignedlong*)(SUBADD+
(GPIOA_BASE_ADDRESS-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+
(GPIO_BIT_10*4)))
#defineGPIOA_Pin11_OutPut((volatileunsignedlong*)(SUBADD+
(GPIOA_BASE_ADDRESS-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+
(GPIO_BIT_11*4)))
#defineGPIOA_Pin12_OutPut((volatileunsignedlong*)(SUBADD+
(GPIOA_BASE_ADDRESS-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+
(GPIO_BIT_12*4)))
#defineGPIOA_Pin13_OutPut((volatileunsignedlong*)(SUBADD+
(GPIOA_BASE_ADDRESS-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+
(GPIO_BIT_13*4)))
#defineGPIOA_Pin14_OutPut((volatileunsignedlong*)(SUBADD+
(GPIOA_BASE_ADDRESS-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+
(GPIO_BIT_14*4)))
#defineGPIOA_Pin15_OutPut((volatileunsignedlong*)(SUBADD+
(GPIOA_BASE_ADDRESS-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+
(GPIO_BIT_15*4)))
//GPIOBInPutMode
#defineGPIOB_Pin0_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_0*4)))
#defineGPIOB_Pin1_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_1*4)))
#defineGPIOB_Pin2_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_2*4)))
#defineGPIOB_Pin3_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_3*4)))
#defineGPIOB_Pin4_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_4*4)))
#defineGPIOB_Pin5_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_5*4)))
#defineGPIOB_Pin6_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_6*4)))
#defineGPIOB_Pin7_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_7*4)))
#defineGPIOB_Pin8_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_8*4)))
#defineGPIOB_Pin9_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS-
uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_9*4)))
#defineGPIOB_Pin10_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_10*4)))
#defineGPIOB_Pin11_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_11*4)))
#defineGPIOB_Pin12_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_12*4)))
#defineGPIOB_Pin13_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_13*4)))
#defineGPIOB_Pin14_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_14*4)))
#defineGPIOB_Pin15_InPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_IDR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_15*4)))
//GPIOBOutPutMode
#defineGPIOB_Pin0_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_0*4)))
#defineGPIOB_Pin1_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_1*4)))
#defineGPIOB_Pin2_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_2*4)))
#defineGPIOB_Pin3_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_3*4)))
#defineGPIOB_Pin4_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_4*4)))
#defineGPIOB_Pin5_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_5*4)))
#defineGPIOB_Pin6_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)*0x20+(GPIO_BIT_6*4)))
#defineGPIOB_Pin7_OutPut((volatileunsignedlong*)(SUBADD+(GPIOB_BASE_ADDRESS
-uSUBADD+GPIO_ODR_OFFSET_ADDRESS)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STM32 别名 端口 定义 文件