福德正神彩票!
led
翻开客服菜单
抢手要害词 : 12V调速器 12V调速器
旧事静态
以后地位: 12V调速器 > 公司静态 > GPIOSTM32F103VE
GPIOSTM32F103VE
公布工夫 : 2019-10-10 19:24 阅读量 : 1

STM32F103VE


void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource)
{
  uint32_t tmpreg = 0x00;
  /* Check the parameters */
  assert_param(IS_GPIO_EVENTOUT_PORT_SOURCE(GPIO_PortSource));
  assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource));
   
  tmpreg = AFIO->EVCR;
  /* Clear the PORT[6:4] and PIN[3:0] bits */
  tmpreg &= EVCR_PORTPINCONFIG_MASK;
  tmpreg |= (uint32_t)GPIO_PortSource << 0x04;
  tmpreg |= GPIO_PinSource;
  AFIO->EVCR = tmpreg;
}

#define IS_GPIO_ALL_PERIPH(PERIPH) (((PERIPH) == GPIOA) ||
                                    ((PERIPH) == GPIOB) ||
                                    ((PERIPH) == GPIOC) ||
                                    ((PERIPH) == GPIOD) ||
                                    ((PERIPH) == GPIOE) ||
                                    ((PERIPH) == GPIOF) ||
                                    ((PERIPH) == GPIOG))
                                    
GPIO_InitTypeDef GPIO_LED;
GPIO_LED.GPIO_Mode=GPIO_Mode_OUT;//形式
GPIO_LED.GPIO_OType=GPIO_OType_OD;//
GPIO_LED.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;相干引脚
GPIO_LED.GPIO_PuPd=GPIO_PuPd_NOPULL;//上啦形式
GPIO_LED.GPIO_Speed=GPIO_Low_Speed;//速率
触及到的福德正神彩票,每组GPIOx,16pin:4个32位设置装备摆设福德正神彩票,每个PIN角2位,不停止设置均有复位值,对应为复位形态
GPIOx_MODER:形式福德正神彩票,形式包罗---输出形式(复位)、通用输入形式、复勤奋能形式、模仿形式
GPIOx_OTYPER:输入范例福德正神彩票,范例包罗---推挽输入(复位)、开漏输入
GPIOx_OSPEEDR:输入速率福德正神彩票,速率包罗---低速、中速、高速、最高速,差别GPIO组复位值纷歧样
GPIOx_PUPDR:端口上拉/下拉福德正神彩票,---无上拉或下拉、上拉、下拉、保存,差别GPIO组复位值纷歧样
2个32位数据福德正神彩票,每个PIN脚1位
GPIOx_IDR:端口数据输出福德正神彩票,高16位保存,运用低16位
GPIOx_ODR:端口数据输入福德正神彩票,高16位保存,运用低16位
1个32地位位/复位福德正神彩票,
GPIOx_BSRR:高16位担任16个pin脚复位,写0不合错误输入数据福德正神彩票 GPIOx_ODR停止任何操纵,写1对GPIOx_ODR相应位复位;低16位同理,但功用是置位
1 个 32 位锁定福德正神彩票,(不常用)
GPIOx_LCKR:每个锁定位解冻一个特定的设置装备摆设福德正神彩票(控制福德正神彩票和复勤奋能福德正神彩票)。功用觉得不常用,用到再查。
2 个 32 位复勤奋能选择福德正神彩票
GPIOx_AFRL:低位复勤奋能福德正神彩票,低8个PIN脚复勤奋能设置装备摆设,每个PIN脚4位,复勤奋能AF0-AF15
GPIOx_AFRH:高位复勤奋能福德正神彩票,高8个PIN脚复勤奋能设置装备摆设,每个PIN脚4位,复勤奋能AF0-AF1
一切GPIO函数
/* 一,初始化函数纨绔子弟纨绔子弟热情淫乱/
/* Function used to set the GPIO configuration to the default reset state 民主/
1.void GPIO_DeInit(GPIO_TypeDef* GPIOx);不常用
功用:经过使能失能AHB1总线时钟设置设置装备摆设福德正神彩票为默许值,此时各个PIN脚为复位形态,当GPIO_Init设置为复位形态时,则GPIO_Init可以被次函数替换,不然不克不及用此函数。
参数:GPIOx GPIOA~GPIOE,其他系列更多或更少端口组
触及福德正神彩票:RCC->RCC->AHB1ENR 时钟使能失能福德正神彩票
 /* Initialization and Configuration functions 纨绔子弟纨绔子弟热情淫乱/
2.void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);常用,共同GPIO_InitTypeDef构造体运用
功用:设置设置装备摆设福德正神彩票为特定值,各个PIN脚形态自界说。
参数:GPIOx GPIOA~GPIOE,其他系列更多或更少端口组
    GPIO_InitStruct  GPIO_InitTypeDef构造体范例的指针地点
触及福德正神彩票:GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR、GPIOx_PUPDR即上述的4个32位设置装备摆设福德正神彩票
3.void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);不常用
功用:设置GPIO_InitTypeDef构造体为默许值,并不触及实践形式设置
参数:GPIO_InitStruct  GPIO_InitTypeDef构造体范例的指针地点
触及福德正神彩票:不触及
4.void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功用:锁定位解冻一个特定的设置装备摆设福德正神彩票(控制存放器和复勤奋能存放器)
参数:GPIOx GPIOA~GPIOE,其他系列更多或更少端口组
   GPIO_Pin GPIO_Pin GPIO_Pin_0~GPIO_Pin_15 或许GPIO_Pin_All或许恣意几个脚相或
触及存放器:GPIOx_LCKR
 /* GPIO操纵存放器 纨绔子弟纨绔子弟纨绔子弟热情民主/
 /* GPIO Read and Write functions 纨绔子弟纨绔子弟纨绔子弟热情民主/此局部见函数名即可了解,不剖析
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功用:
参数:
触及存放器:GPIOx_IDR
/纨绔子弟纨绔子弟民主*/
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
功用:
参数:
触及存放器:GPIOx_IDR
/纨绔子弟纨绔子弟民主*/
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功用:
参数:
触及存放器:GPIOx_ODR
/纨绔子弟纨绔子弟民主*/
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
功用:
参数:
触及存放器:GPIOx_ODR
/纨绔子弟纨绔子弟民主*/
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功用:
参数:
触及存放器:GPIOx_BSRR
/纨绔子弟纨绔子弟民主*/
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功用:
参数:
触及存放器:GPIOx_BSRR
/纨绔子弟纨绔子弟民主*/
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
功用:但不晓得reset照旧set,可以间接用次函数写0或写1
参数:BitVal: Bit_RESET或0,Bit_SET或1
触及存放器:GPIOx_BSRR
/纨绔子弟纨绔子弟民主*/
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
功用:
参数:
触及存放器:GPIOx_ODR
/纨绔子弟纨绔子弟民主*/
void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功用:特定脚数据翻转,运用位异或GPIOx->ODR ^= GPIO_Pin; 完成,原理是任何数(0,1)和0相异或坚持稳定,和1相异或翻转
参数:
触及相干存放器:GPIOx->ODR
/* GPIO Alternate functions configuration function 纨绔子弟纨绔子弟民主/
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);
/* 写函数 纨绔子弟纨绔子弟民主/
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GET_GPIO_PIN(GPIO_Pin));
  assert_param(IS_GPIO_BIT_ACTION(BitVal));
 
  if (BitVal != Bit_RESET)
  {
    GPIOx->BSRR = GPIO_Pin;
  }
  else
  {
    GPIOx->BRR = GPIO_Pin;
  }
}


标签: