当前位置:首页 > 单片机 > 单片机
[导读]将接近检测传感器集成到系统后,一个经常遇到的问题是如何正确选择接近检测的门限,以便在用户通话期间打开或关闭屏幕。门限设置须确保出现错误判断的几率非常低,而且能够支持绝大多数使用者的情况。 门限滞回例程

将接近检测传感器集成到系统后,一个经常遇到的问题是如何正确选择接近检测的门限,以便在用户通话期间打开或关闭屏幕。门限设置须确保出现错误判断的几率非常低,而且能够支持绝大多数使用者的情况。
门限滞回例程

 

#define MAX44000_ADDR	0x94
#define INT_STATUS_REG	0x00
#define OFF_THRESHOLD	4600
#define OFF_DELAY		1
#define ON_THRESHOLD	4000
#define ON_DELAY		3

uint8 screenStatus;	// 0 means off, 1 means on

/*
  i2cWriteBytes()
  
  Arguments:
	uint8 address - device address
	uint8 start_reg - register where the first byte is written
	uint8 *data - data to write
	uint8 nbytes - number of bytes to write

  Consecutively writes several bytes to some i2c device starting at some 
  specified address -- implemented elsewhere
*/
void i2cWriteBytes(uint8 address,uint8 start_reg,uint8 *data,uint8 nbytes);

/*
  MAX44000InterruptHandler()

 

以下代码用于实现MAX44000 INT引脚的中断处理,假设MAX44000的接近检测传感器设置为14位模式,并已使能中断。此外,假设屏幕状态初始化为1或0,详细信息请参阅数据资料的寄存器说明部分。

 

*/
void MAX44000InterruptHandler() {

	uint8 i2cData[3];
	
	i2cRead1Byte(MAX44000_ADDR,INT_STATUS_REG,&i2cData);
	if (i2cData&0x01 != 0)
		return;	// check to make sure interrupt really fired
				// this simultaneously clears the interrupt flag
	
	if (screenStatus) {
		i2cData[0] = ON_DELAY;	
		i2cData[1] = ON_THRESHOLD >> 8 & 0xBF; // set ABOVE = 0
		i2cData[2] = ON_THRESHOLD & 0xFF;
	} else {
		i2cData[0] = OFF_DELAY;	 
		i2cData[1] = OFF_THRESHOLD >> 8 | 0x40; // set ABOVE = 1
		i2cData[2] = OFF_THRESHOLD & 0xFF;
	} // set the new threshold depending on what the screen status was
	
	// set the delay and threshold after each interrupt
	i2cWriteBytes(MAX44000_ADDR,0x0A,i2cData,3);
	
	return;
} // MAX44000InterruptHandler
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

-Vehere宣布推出v1.8.1,为安全分析师提供更精准的检测、更快的响应和更智能的工作流程 旧金山2025年7月18日 /美通社/ -- 领先的人工智能驱动型网络情报提...

关键字: 网络 UI MT BSP

在现代电子系统中,总线作为连接各个组件的关键通信通道,起着至关重要的作用。CANBUS 总线和 I2C 总线是众多总线类型中应用广泛的两种,它们各自具备独特的特性,适用于不同的应用场景。深入了解这两种总线的区别,对于电子...

关键字: 总线 CANBUS I2C

深圳2025年4月2日 /美通社/ -- 近日,全球领先的无线泳池机器人公司元鼎智能宣布完成新一轮近10亿人民币的战略融资。本轮融资由全球泳池行业巨头Fluidra进行战略投资,云启资本作为新晋投资方加入,XVC、复星锐...

关键字: UI 机器人 供应链 IP

在嵌入式开发领域,UART、I2C、SPI等接口技术被广泛使用,它们为微控制器与外部设备之间的通信提供了高效、可靠的途径。本文将详细介绍这三种常用的外设接口。

关键字: UART I2C

Qt用户现可集成自选大语言模型(包括自托管模型)到工作流中,从而减少跨平台开发中的重复性任务耗时 芬兰埃斯波2025年1月24日 /美通社/ -- Qt Group (Nasdaq Helsinki:QTCOM)推出实...

关键字: GROUP UI AI 模型

在现代嵌入式系统开发中,串行通信协议扮演着至关重要的角色。其中,UART(通用异步收发传输器)、I2C(Inter-Integrated Circuit)和SPI(Serial Peripheral Interface)...

关键字: UART I2C SPI 串行总线

在嵌入式系统的开发过程中,调试是至关重要的一环。调试工具的选择直接影响到开发效率、系统稳定性以及后期的维护成本。在众多通信协议中,UART(通用异步收发传输器)因其简单性、灵活性以及广泛的工具支持,成为嵌入式调试中的首选...

关键字: 嵌入式 UART SPI I2C

深圳2024年8月19日 /美通社/ -- 近日,TÜV南德意志集团(以下简称"TÜV南德")携手国际社会责任认证组织WRAP(以下简...

关键字: 研讨会 RS 可持续发展 UI

在软件开发领域,版本控制是确保软件质量、追踪变更历史以及管理多个开发分支的关键环节。对于C语言这样的底层编程语言而言,虽然其直接操作硬件的能力强大,但在版本信息管理方面却相对“原始”,需要开发者手动维护版本信息。然而,通...

关键字: C程序 嵌入式开发

北京2024年8月14日 /美通社/ -- 近日,爱立信荣膺"2024红点设计概念奖"(交互、用户界面和用户体验类别)。该奖项旨在表彰爱立信rApps产品组合的设计与体验(基于SMO架构的RAN自动化...

关键字: 爱立信 APPS 软件 UI
关闭