CoilStatus, InputStatus, Input Regiter, Holding Register 含义

 

coil status 用来控制/报警开关的状态,比如明继电器、电子开关之类。如果产品没有这类功能,可以不使用;
input status 用于输入诊断功能,比如输入信号正常、异常、传感器开路、短路等等诊断结果;
input register 用于保存输入信号量值,能读不能写;
holding register 用于传递用户设置的工艺参数,比如设定值、报警点等,能读能写。
以下是一个使用Arduino控制paj7620u2手势识别模块的示例代码: ``` #include <Wire.h> #define PAJ7620_ADDR 0x73 #define REGITER_NUM 0xFF #define GES_RIGHT_FLAG 0x01 #define GES_LEFT_FLAG 0x02 #define GES_UP_FLAG 0x04 #define GES_DOWN_FLAG 0x08 #define GES_FORWARD_FLAG 0x10 #define GES_BACKWARD_FLAG 0x20 #define GES_CLOCKWISE_FLAG 0x40 #define GES_COUNT_CLOCKWISE_FLAG 0x80 #define GES_WAVE_FLAG 0x100 void setup() { Wire.begin(); initGesture(); } void loop() { uint8_t data = readGesture(); if(data & GES_RIGHT_FLAG) { Serial.println("Right"); } else if(data & GES_LEFT_FLAG) { Serial.println("Left"); } //其他手势识别的代码 delay(100); } void initGesture() { writeRegister(0xEF,0x00); writeRegister(0x32,0x29); writeRegister(0x33,0x01); writeRegister(0x34,0x00); writeRegister(0x35,0x01); writeRegister(0x36,0x00); writeRegister(0x37,0x07); writeRegister(0x38,0x17); writeRegister(0x39,0x06); writeRegister(0x3A,0x12); writeRegister(0x3F,0x00); writeRegister(0x40,0x02); writeRegister(0x41,0xFF); writeRegister(0x42,0x01); writeRegister(0x46,0x2D); writeRegister(0x47,0x0F); writeRegister(0x48,0x3C); writeRegister(0x49,0x00); writeRegister(0x4A,0x1E); writeRegister(0x4B,0x00); writeRegister(0x4C,0x20); writeRegister(0x4D,0x00); writeRegister(0x4E,0x1A); writeRegister(0x4F,0x14); writeRegister(0x50,0x00); writeRegister(0x51,0x10); writeRegister(0x52,0x00); writeRegister(0x5C,0x02); writeRegister(0x5D,0x00); } uint8_t readGesture() { uint8_t data = readRegister(0x43); switch(data) { case GES_RIGHT_FLAG: case GES_LEFT_FLAG: case GES_UP_FLAG: case GES_DOWN_FLAG: case GES_FORWARD_FLAG: case GES_BACKWARD_FLAG: case GES_CLOCKWISE_FLAG: case GES_COUNT_CLOCKWISE_FLAG: case GES_WAVE_FLAG: return data; default: return 0; } } void writeRegister(uint8_t reg, uint8_t value) { Wire.beginTransmission(PAJ7620_ADDR); Wire.write(reg); Wire.write(value); Wire.endTransmission(); } uint8_t readRegister(uint8_t reg) { Wire.beginTransmission(PAJ7620_ADDR); Wire.write(reg); Wire.endTransmission(false); Wire.requestFrom(PAJ7620_ADDR, 1); while(!Wire.available()){} return Wire.read(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值