2 . 写入GPIO端口数据函数 GPIO_WriteBit(GPIOx, GPIO_Pin_y,BIT_SET/BIT_RESET);//置位或者复位单个输出端口的数据 GPIO_Write(GPIOx, 0x1111);//置位或者复位整个输出端口的数据 其中x:A-G y: 0~15 这两个函数是对GPIO_SetBits和GPIO_ResetBits的补充,可以满足对多个端口同时设置状态的特性。 端口复...
函数GPIO_Write 功能描述:向指定GPIO数据端口写入数据 例: GPIO_Write(GPIOA, 0x1101); 函数GPIO_PinLockConfig 功能描述:锁定GPIO管脚设置寄存器 例: GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1); 函数GPIO_EventOutputConfig 功能描述:选择GPIO管脚用作事件输出 例: GPIO_EventOutputConfig(GPIO_Port...
8个等按顺序点亮//甚至可以定义一个数组依次给第二个参数位置实现花式点灯GPIO_Write(GPIOA,~0x0001);...
/* Write the mode configuration in the corresponding bits */ tmpreg |= (currentmode 《《 pos); 首先,要知道currentmode 《《 pos = 0x0000 0003 《《 0x 0000 0000 = 0x 0000 0003 可得tmpreg= tmpreg | 0x0000 0003 = 0x4444 4440 & 0x0000 0003 = 0x4444 4443 /* Reset the corresponding OD...
/* Write the mode configuration in the corresponding bits tmpreg |= (currentmode << pos); //把配置数据写入tmpreg /* Reset the corresponding ODR bit //如果是下拉输入或者上拉输入,则还需要配置PxODR 位 if (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) { ...
(即取反)的结果, 置1使某位为0, 置0不影响原来的值这样, BSRR寄存器的值就是 0000 0000 1010 1010 0000 0000 0101 0101, 两部分的高8位均为0, 所以不会影响到IO口的高8位总结, 以下的宏实现对某端口的低8位置数, 不影响高8位:#define GPIO_WriteLow(GPIOx,a) GPIOx->BSRR=(((uint32_t)(...
(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); // 写入指定GPIO端口的输出数据 void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); // 配置指定GPIO端口的指定引脚的锁定功能 void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); // 配置GPIO事件输出 void GPIO...
函数GPI0_WriteBit 功能描述:设置或者清除指定的数据端口位 例: GPI0_WriteBit(GPI0A, GPI0_Pin_15, Bit_SET); 函数GPI0_Write 功能描述:向指定GPIO数据端口写入数据 例: GPIO_Write(GPIOA, 0x1101); 函数GPIO_PinLockConfig 功能描述:锁定GP10管脚设置寄存器 例: GPI0_PinLockConfig(GPI0A, GPI0_Pin_0...
8个等按顺序点亮//甚至可以定义一个数组依次给第二个参数位置实现花式点灯GPIO_Write(GPIOA,~0x0001);...
/* Write the mode configuration in the corresponding bits */ tmpreg |= (currentmode << pos); 首先,要知道currentmode << pos = 0x0000 0003 << 0x 0000 0000 = 0x 0000 0003 可得tmpreg= tmpreg | 0x0000 0003 = 0x4444 4440 & 0x0000 0003 ...