|
我才接触QTOUCH时间不长,这段时间看DEMO程序有点不明白:
send_debug_byte( 'O' );
send_debug_byte( 'N' );
maskbit = ((uint8_t *) &qt_touch_status)[1];
send_debug_byte( ' ' );
send_debug_byte( '0' );
send_debug_byte( 'x' );
send_debug_byte( HexTable[maskbit>>4] );
send_debug_byte( HexTable[maskbit&0x0f] );
DEMO里的和PC超级终端通信的这部分,意思应该是输出ON ,OX...
就是
maskbit = ((uint8_t *) &qt_touch_status)[1];这里不太看的懂,
定义是这样定义的
typedef struct tag_qt_touch_status_t
{
/*
* The state (on/off) of the library sensors.
* Bit 'n' = state of sensor 'n'.
* Bit 0 = sensor_states[0] bit 0
* Bit 1 = sensor_states[0] bit 1
* ...
* Bit 7 = sensor_states[0] bit 7
* Bit 8 = sensor_states[1] bit 0
* Bit 9 = sensor_states[1] bit 1
* ... etc
* 0 = not in detect, 1 = in detect.
*/
uint8_t sensor_states[QT_NUM_SENSOR_STATE_BYTES];
/*
* Rotor angles or slider positions.
* These values are valid when sensor_states shows that the corresponding
* rotor or slider sensor is in detect.
*/
uint16_t rotor_slider_values[QT_MAX_NUM_ROTORS_SLIDERS];
} qt_touch_status_t;
不大明白((uint8_t *) &qt_touch_status)[1]; 这里【1】指向谁了
qt_touch_status本身应该是结构体啊 没看到是结构体数组啊?
2.我的项目是用的是圆盘 ,根据圆盘触摸滑动去控制LED灯,那么我应该是读rotor_slider_values的值去判断,小弟不明白这个值是什么、我的精度是256那么我理解的是这个值该是在0-0XFF,可是我怎么好像看资料上说是个角度呢?
新手还请大家多多指点 ,谢谢 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|