stm32f103端口置位复位函数

宏定义

#define GPIO_Pin_0   ((uint16_t)0x0001) /*!<选择Pin0*/ //(00000000 00000001)b
#define GPIO_Pin_1   ((uint16_t)0x0002) /*!<选择Pin1*/ //(00000000 00000010)b
#define GPIO_Pin_2   ((uint16_t)0x0004) /*!<选择Pin2*/ //(00000000 00000100)b
#define GPIO_Pin_3   ((uint16_t)0x0008) /*!<选择Pin3*/ //(00000000 00001000)b
#define GPIO_Pin_4   ((uint16_t)0x0010) /*!<选择Pin4*/ //(00000000 00010000)b
#define GPIO_Pin_5   ((uint16_t)0x0020) /*!<选择Pin5*/ //(00000000 00100000)b
#define GPIO_Pin_6   ((uint16_t)0x0040) /*!<选择Pin6*/ //(00000000 01000000)b
#define GPIO_Pin_7   ((uint16_t)0x0080) /*!<选择Pin7*/ //(00000000 10000000)b

#define GPIO_Pin_8    ((uint16_t)0x0100) /*!<选择Pin8*/      //(00000001 00000001)b
#define GPIO_Pin_9    ((uint16_t)0x0200) /*!<选择Pin9*/      //(00000010 00000010)b
#define GPIO_Pin_10   ((uint16_t)0x0400) /*!<选择Pin10*/     //(00000100 00000100)b
#define GPIO_Pin_11   ((uint16_t)0x0800) /*!<选择Pin11*/     //(00001000 00001000)b
#define GPIO_Pin_12   ((uint16_t)0x1000) /*!<选择Pin12*/     //(00010000 00010000)b
#define GPIO_Pin_13   ((uint16_t)0x2000) /*!<选择Pin13*/     //(00100000 00100000)b
#define GPIO_Pin_14   ((uint16_t)0x4000) /*!<选择Pin14*/     //(01000000 01000000)b
#define GPIO_Pin_15   ((uint16_t)0x8000) /*!<选择Pin15*/     //(10000000 10000000)b
#define GPIO_Pin_AII  ((uint16_t)0xFFFF) /*!<选择全部引脚*/  //(11111111 11111111)b

端口置位函数

通过控制BSRR寄存器来置位

低16位的端口置1则对应的端口输出1

void GPIO_SetBits(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin)
{
  GPIOx->BSRR |= GPIO_Pin;
}

 

端口复位函数 

通过控制BRR寄存器来复位

低16位的端口置1则对应的端口输出0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值