一、代码 GPIO 输入输出位操作
#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_Addr,n)
#define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n)
#define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n)
#define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n)
#define PDin(n) BIT_ADDR(GPIOD_IDR_Addr,n)
#define PEout(n) BIT_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)
二、固件库点灯—电平输出高低
LED-库函数 操作移植过来,有关 LED GPIO 初始化和软件延时等 函数我们直接用,修改的是控制 GPIO 输出的部分改成了位操作。该实验我们让 IO 口输出 高低电平来控制 LED 的亮灭,负逻辑点亮。
main 函数
int main(void)
{
LED_GPIO_Config();
while ( 1 )
{
PBout(0)= 0;
SOFT_Delay(0x0FFFFF);
PBout(0)= 1;
SOFT_Delay(0x0FFFFF);
}
}
|