Delay(500);LL_GPIO_ResetOutputPin(GPIOA, LL_GPIO_PIN_5);HAL_Delay(500); #endif }}效果展示 输入配置 上面的配置+代码已经可以让LED灯自己闪动起来,现在我们要增加点自己的存在感,通过一个按键来控制灯闪——按下按键灯亮,放开灯灭。 同样的,先查看原理图,找到...
LL_GPIO_SetOutputPin(LED1_GPIO_Port, LED1_Pin);__NOP();__NOP();__NOP();__NOP();__...
GPIO_InitStruct.Mode=LL_GPIO_MODE_ANALOG; 1. 2、调节GPIO 速度 上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。这种调整对EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡GPIO性能与噪声。通常GPIO配置为低速模式即可,但是高波特率的串口需要配置为高速模式,所以...
GPIO_InitStruct.Mode=LL_GPIO_MODE_ANALOG; 2、调节GPIO 速度 上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。这种调整对EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡GPIO性能与噪声。通常GPIO配置为低速模式即可,但是高波特率的串口需要配置为高速模式,所以每个...
GPIO相关操作函数 设置端口输出高电平:LL_GPIO_SetOutputPin 设置端口输出低电平:LL_GPIO_ResetOutputPin 点亮小灯 在main.c中加入函数**LL_GPIO_ResetOutputPin()**即可点亮LED小灯 由于默认端口输出低电平,不写小灯也亮,我们可以加入函数 **LL_GPIO_SetOutputPin()**使PB0输出高电平,观察小灯是否熄灭 ...
if(PinState!=GPIO_PIN_RESET){GPIOx->BSRR=GPIO_Pin;}else{GPIOx->BSRR=(uint32_t)GPIO_Pin<<16u;} 我们会发现我们还不知道两个关键的参数GPIO_Pin、GPIO_PIN_RESET下面我们来看他们的定义: typedef enum{GPIO_PIN_RESET=0u,GPIO_PIN_SET}GPIO_PinState;#define GPIO_PIN_0((uint16_t)0x0001)/...
LL_GPIO_Init(GPIOA, &LL_GPIO_InitStructure); //3.操作引脚 LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_1); GPIO 函数库 Arduino 数字 I/O 函数库 digitalRead(pin) digitalWrite(pin, value) pinMode(pin, mode) STM32 函数库 标准库(STM32F103xx) ...
__STATIC_INLINE void LL_GPIO_SetOutputPin(GPIO_TypeDef *GPIOx, uint32_t PinMask){ WRITE_REG(GPIOx->BSRR, (PinMask >> GPIO_PIN_MASK_POS) & 0x0000FFFFU);} 其中__STATIC_INLINE,就是静态、内联: #define __STATIC_INLINE static __inline ...
static void SHT_GPIO_Configuration(void) { LL_GPIO_InitTypeDef GPIO_InitStruct; /* 使能GPIO端口时钟 */ LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA); LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOB); LL_GPIO_SetOutputPin(I2C_SCL_GPIO_Port, I2C_SCL_Pin); ...
keil优化等级设置为Level 0时,增加或删除部分GPIO翻转的指令,发现GPIO翻转的脉宽会变化。 如l优化等级设置为Level 0时,以下高电平时间为80ns, LL_GPIO_ResetOutputPin( GPIOA, LL_GPIO_PIN_12); LL_GPIO_SetOutputPin( GPIOA, LL_GPIO_PIN_12); LL_GPIO_ResetOutputPin( GPIOA, LL_GPIO_PIN_12); ...