文章代码使用
HAL库。
+5 V 电压。(电源电压范围为 3.5V-5.5V,过高或过低都会影响模块的正常工作 )GND 。
这里可以使用 CubeMX 设置引脚,也可以自己写引脚控制代码。
①创建一个结构体变量:
GPIO_InitTypeDef GPIO_InitStruct = {0};
②使能 GPIOA 引脚
__HAL_RCC_GPIOA_CLK_ENABLE();
③初始化引脚为 低电平
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
④设置引脚的 模式,输出,速度
GPIO_InitStruct.Pin = GPIO_PIN_7;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
⑤完成初始化
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
①设置引脚为 Ouput 输出引脚

②设置初始引脚电平

void HW_493_ON(void)
{HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET); //高电平发射激光
}
void HW_493_OFF(void)
{HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET); //低电平关闭激光
}
void GPIO_Reinit(void)
{GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOA_CLK_ENABLE();HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);GPIO_InitStruct.Pin = GPIO_PIN_7;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
int main()
{GPIO_Reinit();HW_493_ON();HAL_Delay(5000); //延时5 秒HW_493_OFF();HAL_Delay(2000); //延时 2 秒
}
激光发射实验现象