// 位带操作-2 GPIO 输入输出位操作 // 单独操作 GPIO的某一个IO口,n(0,1,2...15),n表示具体是哪一个IO口 #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr, n) // 输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr, n) // 输入 #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr, n) // 输出 ...
/*** @ brief 这里只定义了 GPIO ODR和IDR这两个寄存器的位带别名区地址,其他寄存器的没有定义* SRAM 位带区: 0X2000 0000~0X200F 0000* SRAM 位带别名区:0X2200 0000~0X23FF FFFF* 外设 位带区: 0X4000 0000~0X400F FFFF* 外设 位带别名区:0X4200 0000~0X43FF FFFF*//*把“位带地址+位序号”...
STM32L151 手册里找不到GPIOA_ODR_Addr GPIOA_IDR_Addr 地址 下面的是F4的,如果是STM32L151 20和16该改成多少尼 有哪位兄台知道的 #define GPIOA_ODR_Addr (GPIOA_BASE+20) //0x40020014 #define GPIOB_ODR_Addr (GPIOB_BASE+20) //0x40020414 #define GPIOC_ODR_Addr (GPIOC_BASE+20) //...
main为: #include "stm32f10x.h"// 相当于51单片机中的 #include <reg51.h>#include "bsp_led.h"#include "bsp_key.h"#define SOFT_DELAY Delay(0x0FFFFF);//void Delay(__IO u32 nCount);#define GPIOC_ODR_Addr (GPIOC_BASE+0x0C)#define PCout(bitnum) *(unsignedint*)((GPIOC_ODR_Addr...
(GPIOE_ODR_Addr,n)//输出#define PEin(n) BIT_ADDR(GPIOE_IDR_Addr,n)//输入#define PFout(n) BIT_ADDR(GPIOF_ODR_Addr,n)//输出#define PFin(n) BIT_ADDR(GPIOF_IDR_Addr,n)//输入#define PGout(n) BIT_ADDR(GPIOG_ODR_Addr,n)//输出#define PGin(n) BIT_ADDR(GPIOG_IDR_Addr,n) /...
// 单独操作 GPIO的某一个IO口,n(0,1,2...15), // n表示具体是哪一个IO口 #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入 #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出 #define PBin(n) BIT_ADDR(GPIOB_IDR_Ad...
(GPIOC_IDR_Addr,n)//输入#definePDout(n)BIT_ADDR(GPIOD_ODR_Addr,n)//输出#definePDin(n)BIT_ADDR(GPIOD_IDR_Addr,n)//输入#definePEout(n)BIT_ADDR(GPIOE_ODR_Addr,n)//输出#definePEin(n)BIT_ADDR(GPIOE_IDR_Addr,n)//输入#definePFout(n)BIT_ADDR(GPIOF_ODR_Addr,n)//输出#definePF...
// GPIO ODR 和 IDR 寄存器地址映射 #define GPIOA_ODR_Addr (GPIOA_BASE+20) #define GPIOB_ODR_Addr (GPIOB_BASE+20) #define GPIOC_ODR_Addr (GPIOC_BASE+20) #define GPIOD_ODR_Addr (GPIOD_BASE+20) #define GPIOE_ODR_Addr (GPIOE_BASE+20) ...
#define BIT_ADDR(addr, bitnum) MEM_ADDR( BITBAND(addr, bitnum) )#define GPIOA_ODR_Add...
1. 项目 类似与C51单片机的位操作使能引脚来点亮LED. 例如,sbit P0^0 = 0 LED1 = P0^0; 2. 代码 main.c #include"stm32f10x.h"//相当于51单片机中的 #include <reg51.h>#include"bsp_key.h"#include"bsp_led.h"#defineGPIOB_ODR_Addr(GPIOB_BASE+0x0c)#definePBout(n)*(unsignedint*)((GP...