/****************************************************************************************
 * 文件名:debug_touch.h
 * 版 本:   V1.0
 * 日 期:   2015-4-01
 * 作 者:  上海芯旺微电子技术有限公司
 * 说明：    电容触摸库调试输出函数文件声明
 *
 ****************************************************************************************/
/*使用说明： 1、选择用来传输的2个引脚资源，修改关于CLK、DAT定义的实体。
 * 			2、在按键触摸进程中调用过扫描后，调用该执行函数
 * 			3、可以将判断放置在函数体外。
 * 			4、当前检测的通道如果配置为允许上传则进行上传
 * 			5、因数据接收模块需要和主机进行通信，通信器件不响应的数据将被丢失。
 * 			6、传输_KF8_LIBi_buff_hit_   _KF8_LIBi_buff_baseline_下值
 * 			7、每次有效如通道完毕，某8字节完毕等必须暂停90us使传输到主机，结束完毕还需要发送校验值，结束码。
 * 			8、定义发送间隔每有效间隔100us，结束多的100us可以忽略，因不响应，下一次中断到来时间已达到。
 *			9、可以改变Touch_Delay1，Touch_Delay2的值影响每秒传送的样本，同时影响每秒触摸中断的次数。
 */
 /*协议说明： 1、选择调试用的2个单片机口必须为输入输出可切换的双向通道。
 * 			2、检测到CLK的高电平为允许上传标记，否则结束函数
 * 			3、拉低CLK告知接收端数据传输要开始
 * 			4、发送高低脉宽，接收DAT脚接收端准备就绪的状态，否则结束函数
 * 			5、状态准备就绪下，发送5个脉冲下的当前通道值
 * 			6、停止100us，使接收端发送通道值到主机
 * 			7、接收1个8脉冲下的数值，停止100us，使接收端发送数值到主机。
 * 			8、同重复4次，依次完成当前通道下基线低8位，基线高8位，采集低8位，采集高8位数值，低位优先传送。
 *			9、发送结束脉冲，如果无通道设定请求，结束该次上传。
 *			10、如果存在通道设定请求，发送6个脉冲，其中前5个接收为通道值，第6个为通道设定结果，高为开，低为关。
 */

#ifndef DEBUG_TOUCH_H_
#define DEBUG_TOUCH_H_

#include "main.h"

//这里使用P00 作为数据脚，P01作为时钟脚
#define CLK_SET_IN  	TR01=1
#define CLK_SET_OUT  	TR01=0
#define CLK_SET_HIGH  	P01=1
#define CLK_SET_LOW  	P01=0
#define CLK_GET_STATE  	P01

#define DAT_SET_IN  	TR00=1
#define DAT_SET_OUT  	TR00=0
#define DAT_SET_HIGH  	P00=1
#define DAT_SET_LOW  	P00=0
#define DAT_GET_STATE  	P00

#define Touch_Delay1    delay_us(5)	 	 //小范围内时钟
#define Touch_Delay2	delay_us(110)    // 间隔

#define Touch_Channel_Protect  0     //协议特性，始终保留该通道上传数据，防关闭


extern volatile unsigned char sentbuf1,sentbuf2,sentbuf3,sentbuf4;


void _R2PCL();
void TOUCH_DEBUG_TRS_DEAL();
void TOUCH_DEBUG_TRS_BAIHUALV();
void TOUCH_DEBUG_SEND_OUT();

#endif /* DEBUG_TOUCH_H_ */
