外设模块学习(13)——HW-493激光发射模块(STM32实现)

引言

本次介绍的是一个非常基础且简单使用的激光发射模块,控制起来是很简单,只需要GPIO相关知识即可。外观如下图所示。

由于我买来时商家提供的只有一个51的代码参考,因此我稍微在网上搜了一下相关资料后学习使用的,不过由于这个模块真的太简单,就像基础的点灯代码一样,单片机通过S引脚输出高电平的数字信号即可启动激光发射,反之关闭。


一、激光发射模块介绍

HW-493激光模块 是一种小型化的激光发射模块,其主要特点是体积小、功耗低、精度高、可靠性强。它采用了半导体激光器作为光源,搭配高精度光学透镜,可以发射出稳定、准确、高亮度的激光光束。

二、引脚定义及功能

主要就一个引脚注意一下就行,也就是这个丝印是S的引脚,这个脚是单片机给该模块输入数字信号的,输入1时激光头发射激光,输入0时激光头关闭激光。

三、代码参考(STM32)

然后直接展示我编写的基于STM32F103系列单片机使用寄存器方式编写的控制代码。

3.1 laser.h

cpp 复制代码
/*
 * @Descripttion: 激光传感器驱动文件(.h)
 * @Author: JaRyon
 * @version: 
 * @Date: 2025-10-30 21:33:29
 */
#ifndef __LASER_H
#define __LASER_H

/**
 * 引脚连接
 * 
 * -/GND  --->  GND
 * VCC    --->  3.3V
 *  S     --->  PA0
 * 
 */


#include "stm32f10x.h"

void Laser_Init(void);
void Laser_On(void);
void Laser_Off(void);

#endif // !__LASER_H

3.2 laser.c

cpp 复制代码
/*
 * @Descripttion: 激光传感器驱动文件(.c)
 * @Author: JaRyon
 * @version: 
 * @Date: 2025-10-30 21:33:18
 */
#include "laser.h"

/**
 * @brief      激光传感器初始化
 * @param      void 无
 * @return     void
 * @example    Laser_Init();
 * @attention  
 */ 
void Laser_Init(void)
{
    // 控制端口的时钟以及端口配置
    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;

    GPIOA->CRL |= GPIO_CRL_MODE0;
    GPIOA->CRL &= ~GPIO_CRL_CNF0;

    // 初始化默认低电平
    GPIOA->ODR &= ~GPIO_ODR_ODR0;
}

/**
 * @brief      启动激光传感器-1
 * @param      void 无
 * @return     void
 * @example    Laser_On();
 * @attention  
 */
void Laser_On(void)
{
    GPIOA->ODR |= GPIO_ODR_ODR0;
}

/**
 * @brief      关闭激光传感器-0
 * @param      void 无
 * @return     void
 * @example    Laser_Off();
 * @attention  
 */
void Laser_Off(void)
{
    GPIOA->ODR &= ~GPIO_ODR_ODR0;
}

以上便是本次文章的所有内容,欢迎各位朋友在评论区讨论,本人也是一名初学小白,愿大家共同努力,一起进步吧!

鉴于笔者能力有限,难免出现一些纰漏和不足,望大家在评论区批评指正,谢谢!

相关推荐
JWASX27 分钟前
【agent 开发】agent 开发学习 - LangChain(3)
学习·langchain
dadaobusi43 分钟前
一个有趣的物理假设
学习
沐欣工作室_lvyiyi2 小时前
基于物联网的汽车智能座舱控制系统的设计和实现(论文+源码)
单片机·物联网·汽车·智能座舱·哈尔滨信息工程学院·黄河科技学院
创界工坊工作室2 小时前
21-基于单片机的智能窗帘与光照联动控制系统设计
stm32·单片机·嵌入式硬件·proteus
JWASX2 小时前
【agent 开发】agent 开发学习 - LangChain(2)
python·学习·langchain
zhaoshuzhaoshu2 小时前
嵌入式系统看门狗详解——以 STM32 为例
stm32·嵌入式硬件
li星野2 小时前
【学习记录】立创EDA专业版核心概念全解析:数据整理、设计验证与器件四层模型
学习
知识分享小能手2 小时前
C学习教程,从入门到精通,C语言输入和输出(4)
c语言·开发语言·学习
旖旎夜光2 小时前
【LangGraph实战】LangGraph 学习笔记(四):持久化——从线程记忆到跨会话长期记忆
人工智能·笔记·python·学习·ai编程·langgraph
石马马户3 小时前
传感器的中断 Latch、中断状态寄存器、中断读取与保持时间
stm32·单片机·嵌入式硬件