实现霍尔传感器识别

一、硬件设计介绍

选用的霍尔传感器是一个开关量,把它看成一个按键即可。

当霍尔传感器触发时,输出低电平(0)。

当霍尔传感器没有被触发时,输出高电平(1)。

这里选用的是P136引脚。

二、引脚初始化

void hall_init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Pin    = GPIO_Pin_6;
    GPIO_InitStruct.GPIO_Mode   = GPIO_Mode_IN;
    GPIO_InitStruct.GPIO_Ctrl  = GPIO_Control_DIG;
    GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_NOPULL;//不进行上下拉,电平取决于外部电压
	GPIO_Init(GPIO_PORT13, &GPIO_InitStruct);
	
}

三、霍尔传感器识别

这里对识别结果进行一个取反:

如果识别到霍尔传感器输出1。

如果没有识别到霍尔传感器输出0。

#define HALL   GPIO_ReadInputDataBit(GPIO_PORT13,GPIO_Pin_6)


unsigned char hall_scan(void)//霍尔扫描
{
	unsigned char on = 0;
	if(HALL)   on = 0;
	else       on = 1;
	return on;
}

四、H文件编写

#ifndef _HALL_H_
#define _HALL_H_


#include "gpio.h"

void hall_power_init(void);
void hall_init(void);
unsigned char hall_scan(void);//霍尔扫描


#endif



五、总结

霍尔传感器相当于一个开关,选用引脚时只需要选用通用的GPIO口即可。

各个型号的霍尔传感器输出高低电平可能不一致,本例程只提供参考。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值