空调泵厂家
免费服务热线

Free service

hotline

010-00000000
空调泵厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

门限滞回设置的C程序代码

发布时间:2020-07-01 01:53:57 阅读: 来源:空调泵厂家

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

本文引用地址:

#define MAX44000_ADDR0x94#define INT_STATUS_REG0x00#define OFF_THRESHOLD4600#define OFF_DELAY1#define ON_THRESHOLD4000#define ON_DELAY3uint8 screenStatus;// 0 means off, 1 means on/*i2cWriteBytes()Arguments:uint8 address - device addressuint8 start_reg - register where the first byte is writtenuint8 *data - data to writeuint8 nbytes - number of bytes to writeConsecutively 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 (i2cData0x01 != 0)return;// check to make sure interrupt really fired// this simultaneously clears the interrupt flagif (screenStatus) {i2cData[0] = ON_DELAY;i2cData[1] = ON_THRESHOLD >> 8 0xBF; // set ABOVE = 0i2cData[2] = ON_THRESHOLD 0xFF;} else {i2cData[0] = OFF_DELAY; i2cData[1] = OFF_THRESHOLD >> 8 | 0x40; // set ABOVE = 1i2cData[2] = OFF_THRESHOLD 0xFF;} // set the new threshold depending on what the screen status was// set the delay and threshold after each interrupti2cWriteBytes(MAX44000_ADDR,0x0A,i2cData,3);return;} // MAX44000InterruptHandler

北京制做工作服

内蒙古防静电工服制做

工作服订制