From 836642549a31a8d613b814de1ce5f4a9e6c6e1ea Mon Sep 17 00:00:00 2001 From: WangJunxiong <813568817@qq.com> Date: Mon, 20 Jan 2025 11:40:40 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[update]=201.=E6=93=8D=E4=BD=9CPSA=E5=AF=84?= =?UTF-8?q?=E5=AD=98=E5=99=A8=E4=BD=8D=E5=89=8D=E5=90=8E=E5=96=82=E7=8B=97?= =?UTF-8?q?;=202.=E4=BC=98=E5=8C=96=E9=BB=98=E8=AE=A4=E7=9A=84=E8=AE=BE?= =?UTF-8?q?=E5=AE=9A=E5=80=BC;=203.=E9=85=8D=E7=BD=AE=E5=AD=97=E6=89=93?= =?UTF-8?q?=E5=BC=80=E4=B8=8A=E7=94=B5=E5=BB=B6=E6=97=B6=E5=92=8C=E7=9C=8B?= =?UTF-8?q?=E9=97=A8=E7=8B=97;=204.=E4=BC=98=E5=8C=96=E6=B3=A8=E9=87=8A;?= =?UTF-8?q?=205.=E6=9B=B4=E6=96=B0=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KF8A100_LP_Touch_V1.1A_Lib/.project | 16 ++++++++++-- .../.settings/com.chipon.chiponide.core.prefs | 6 ++--- .../KF8A100_LP_Touch_V1.1A_Lib/CTouch.c | 25 ++++++++++--------- .../KF8A100_LP_Touch_V1.1A_Lib/CTouch.h | 18 ++++++------- .../KF8A100_LP_Touch_V1.1A_Lib/PowerMan.c | 6 ----- .../KF8A100_LP_Touch_V1.1A_Lib/config_set.c | 2 +- .../KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c | 22 ++++++++-------- .../KF8A100_LP_Touch_V1.1A_Lib/main.c | 6 ++--- 8 files changed, 55 insertions(+), 46 deletions(-) diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.project b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.project index 72cec3b..37c9415 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.project +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.project @@ -17,9 +17,13 @@ org.eclipse.cdt.make.core.append_environment true + + org.eclipse.cdt.make.core.autoBuildTarget + all + org.eclipse.cdt.make.core.buildArguments - -k + -k -j8 org.eclipse.cdt.make.core.buildCommand @@ -29,6 +33,10 @@ org.eclipse.cdt.make.core.buildLocation ${workspace_loc:/KF8A100_Touch_V0.1/Release} + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + org.eclipse.cdt.make.core.contents org.eclipse.cdt.make.core.activeConfigSettings @@ -45,9 +53,13 @@ org.eclipse.cdt.make.core.enableFullBuild true + + org.eclipse.cdt.make.core.fullBuildTarget + all + org.eclipse.cdt.make.core.stopOnError - true + false org.eclipse.cdt.make.core.useDefaultBuildCmd diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.settings/com.chipon.chiponide.core.prefs b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.settings/com.chipon.chiponide.core.prefs index 10ebf2a..6cc70e5 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.settings/com.chipon.chiponide.core.prefs +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/.settings/com.chipon.chiponide.core.prefs @@ -1,12 +1,12 @@ -#Fri May 12 15:27:15 CST 2023 +#Sat Jan 18 15:33:04 CST 2025 avrtarget/ChipBoden=1 avrtarget/ChipCp=1 avrtarget/ChipMclre=1 avrtarget/ChipPower=5 -avrtarget/ChipPwrt=1 +avrtarget/ChipPwrt=0 avrtarget/ChipSwrten=0 avrtarget/ChipType=KF8A100ENG -avrtarget/ChipWdte=0 +avrtarget/ChipWdte=1 avrtarget/EE= avrtarget/SetEE=false avrtarget/SetinCode=false diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c index cab0069..7c54bac 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c @@ -12,28 +12,29 @@ const unsigned char CTouch_Channel_Tab[] = {8, 7, 6, 5, 10}; /*通道信号阈值设定*/ const unsigned int CTouch_Threshold_Tab[] = {80, 80, 80, 80, 200}; -//const unsigned int CTouch_Threshold_Tab[] = {500,500,500,500,500}; -/*通道信号第二按键阈值增加设定*/ -const unsigned int CTouch_Second_Key_Threshold_Tab[] = {100, 100, 175, 108, 100}; + +/*通道信号第二按键阈值增加设定(如果有多按键按下需求,必须全部设置为0)*/ +//const unsigned int CTouch_Second_Key_Threshold_Tab[] = {100, 100, 175, 108, 100}; +const unsigned int CTouch_Second_Key_Threshold_Tab[] = {0, 0, 0, 0, 0}; /*通道信号迟滞设定*/ -const unsigned char CTouch_Single_Hysteresis_Tab[] = {13, 14, 12, 15, 10}; +const unsigned char CTouch_Single_Hysteresis_Tab[] = {10, 10, 10, 10, 10}; /*通道噪声阈值设定*/ -const unsigned char CTouch_Noise_threshold_Tab[] = {46, 50, 40, 50, 90}; -//const unsigned char CTouch_Noise_threshold_Tab[] = {250, 250, 250, 250, 90}; +const unsigned char CTouch_Noise_threshold_Tab[] = {40, 40, 40, 40, 40}; + /*通道负噪声阈值设定*/ // -const unsigned char CTouch_Negative_Noise_threshold_Tab[] = {50, 60, 45, 50, 90}; -//const unsigned char CTouch_Negative_Noise_threshold_Tab[] = {250, 250, 250, 250, 90}; +const unsigned char CTouch_Negative_Noise_threshold_Tab[] = {40, 40, 40, 40, 40}; + /*通道最大阈值设定*/ -const unsigned int CTouch_Max_Threshold_Tab[] = {550, 420, 470, 420, 400}; -//const unsigned int CTouch_Max_Threshold_Tab[] = {700,700,700,700,700}; +const unsigned int CTouch_Max_Threshold_Tab[] = {550, 550, 550, 550, 550}; + /*通道信号异常阈值设定 */ -const unsigned int CTouch_Disturb_Noise_threshold_Tab[] = {78, 82, 90, 80, 100}; +const unsigned int CTouch_Disturb_Noise_threshold_Tab[] = {40, 40, 40, 40, 40}; /*通道稳定噪声阈值设置*/ -const unsigned unsigned char CTouch_Steady_Noise_threshold_Tab[] = {40, 30, 30, 40, 24}; +const unsigned unsigned char CTouch_Steady_Noise_threshold_Tab[] = {40, 40, 40, 40, 40}; // 电压参考值VDAC:raw尽量在5000 const unsigned char CTOUCH_VDAC_Tab[] = {0x80, 0x90, 0x90, 0x90, 0x60}; diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h index 7a44f11..274c2f4 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h @@ -116,15 +116,15 @@ extern void _CTouch_Datastreamer_Output_(void); #define DEF_TOUCH_ON_DEBOUNCE 3u #define DEF_TOUCH_ON_BASELINE_UPDATA_EN 1 //按键按下时基准线更新使能 -#define DEF_PRESS_ON_MAX_TIME_CNT_EN 1 //1为DEF_PRESS_ON_MAX_TIME,0为DEF_PRESS_ON_MAX_CNT -#define DEF_PRESS_ON_MAX_TIME 200 //0为长按有效 -#define DEF_PRESS_ON_MAX_CNT 1000 //0为长按有效 -#define DEF_DATA_CHANGE_DISTURB_MAX_CHANNEL 3u -#define DEF_PROTECT_MODE_RELEASE_CYCLE 30 -#define DEF_BASELINE_UPDATE_CNT 10 -#define DEF_MAX_KEY_CNT 2 -#define DEF_REFERENCE_CHANNEL_ENABLE 1u +#define DEF_PRESS_ON_MAX_TIME_CNT_EN 1 //1为DEF_PRESS_ON_MAX_TIME(精准计时)单位为Timer1的溢出时间,0为DEF_PRESS_ON_MAX_CNT(单位为_CTouch_Scan_Process_的执行次数) +#define DEF_PRESS_ON_MAX_TIME 200 //0为长按有效 (按键按下时间大于此参数的2倍时强制更新基准线和原始值一致) +#define DEF_PRESS_ON_MAX_CNT 1000 //0为长按有效 (按键按下时间大于_CTouch_Scan_Process_函数执行(DEF_PRESS_ON_MAX_CNT*2)次时强制更新基准线到和原始值一致) +#define DEF_DATA_CHANGE_DISTURB_MAX_CHANNEL 3u //多通道干扰保护,3个通道信号值大于CTouch_Disturb_Noise_threshold_Tab[]阈值时,进入保护 +#define DEF_PROTECT_MODE_RELEASE_CYCLE 30 //保护模式退出时间,重复保护时会刷新计数,单位为_CTouch_Scan_Process_()的执行次数 +#define DEF_BASELINE_UPDATE_CNT 50 //基准线更新速度,单位为_CTouch_Scan_Process_()的执行次数 +#define DEF_MAX_KEY_CNT 2 //允许按键按下的个数,超过此值进入保护 +#define DEF_REFERENCE_CHANNEL_ENABLE 1u //参考通道保护 1:使能,0:关闭(以CTouch_Channel_Tab[]最后一个通道作为参考通道) #define DEF_LOW_POWER_CHANNEL_NUM 2u //触摸通道从前往后,不启用低功耗功能时需置0 -#define DEF_LOW_POWER_IND_CHANNEL_BASELINE_UPDATE_EN 1u +#define DEF_LOW_POWER_IND_CHANNEL_BASELINE_UPDATE_EN 1u //低功耗扫描函数_CTouch_LowPower_Scan_Process_()中非低功耗通道基准线更新使能位 #endif /* CTOUCH_H_ */ diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/PowerMan.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/PowerMan.c index 03027fb..ff97e2a 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/PowerMan.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/PowerMan.c @@ -63,12 +63,6 @@ void System_Goto_Sleep(void) _IDLE(); //Sleep _NOP(); //Wakeup from here - -// WDTPS = 0x06; //Sleep for about 64ms -// _CWDT(); -// _IDLE(); //Sleep -// _NOP(); //Wakeup from here - WDTPS = 0x07; //Set usual time out Touch_GPIO_Config(); SLVREN = 1; //Enable Low Voltage Detect diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c index 76f194b..fd02991 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c @@ -1 +1 @@ -__sfr __at(0x2007) CONFIG =0x05f4; +unsigned int __at(0x2007) CONFIG =0x05ec; diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c index d08ec7a..4daf2ad 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c @@ -136,17 +136,17 @@ void Init_Usart() /***Usart相关寄存器初始化****/ BRCTL = 0x44; // 接收空闲 使用8位计数器,不考虑唤醒是使能和自动波特率检测 - EUBRGH = 0x00; // 波特率公式=SCLK/(m*y+1),其中SCLK系统时钟,如这里8M,m为倍频数,见手册,y为8位或16位波特率计数值 + EUBRGH = 0x00; // 波特率公式=SCLK/(m*y+1),其中SCLK系统时钟,如这里16M,m为倍频数,见手册,y为8位或16位波特率计数值 EUBRGL = 0x08; // SYNC=0(全双工异步模式),BRG16=0(使用8位波特率发生器),HBRG=1(高速) - TSCTL = 0x26; // 8位 发送,使能发送,全双工异步模式SYNC=0,低速模式HBRG=1,发送移位空,不发送同步间隔符 + TSCTL = 0x26; // 8位 发送,使能发送,全双工异步模式SYNC=0,高速模式HBRG=1,发送移位空,不发送同步间隔符 RSCTL = 0x90; // 串口使能(配置引脚为串行口引脚),8位接收,接收使能,无帧错误,溢出错误,不考虑地址识别和第9位 #else //选择P1.3 和 P2.3作为串口IO /***Usart相关寄存器初始化****/ - BRCTL = 0x40; // 接收空闲 使用8位计数器,不考虑唤醒是使能和自动波特率检测 + BRCTL = 0x40; // 接收空闲 使用8位计数器,BRG16 =0,不考虑唤醒是使能和自动波特率检测 - EUBRGH = 0x00; // 波特率公式=SCLK/(m*y+1),其中SCLK系统时钟,如这里8M,m为倍频数,见手册,y为8位或16位波特率计数值 - EUBRGL = 0x08; // SYNC=0(全双工异步模式),BRG16=0(使用8位波特率发生器),HBRG=1(高速) - TSCTL = 0x26; // 8位 发送,使能发送,全双工异步模式SYNC=0,低速模式HBRG=1,发送移位空,不发送同步间隔符 + EUBRGH = 0x00; // 波特率公式=SCLK/(m*y+1),其中SCLK系统时钟16M,m为倍频数,见手册,y为8位或16位波特率计数值 + EUBRGL = 0x08; // SYNC=0(全双工异步模式),BRG16=0(使用8位波特率发生器) + TSCTL = 0x26; // 8位 发送,使能发送,全双工异步模式SYNC=0,高速模式HBRG=1,发送移位空TXSRS =1,不发送同步间隔符 RSCTL = 0x90; // 串口使能(配置引脚为串行口引脚),8位接收,接收使能,无帧错误,溢出错误,不考虑地址识别和第9位 #endif } @@ -163,9 +163,9 @@ void Init_Lin(void) /***Usart相关寄存器初始化****/ BRCTL = 0x40; // 接收空闲 使用8位计数器,不考虑唤醒是使能和自动波特率检测 - EUBRGH = 0x00; // 波特率公式=SCLK/(m*y+1),其中SCLK系统时钟,如这里8M,m为倍频数,见手册,y为8位或16位波特率计数值 + EUBRGH = 0x00; // 波特率公式=SCLK/(m*y+1),其中SCLK系统时钟,如这里16M,m为倍频数,见手册,y为8位或16位波特率计数值 EUBRGL = 0x0C; // SYNC=0(全双工异步模式),BRG16=0(使用8位波特率发生器),HBRG=0(低速) - TSCTL = 0x22; // 8位 发送,使能发送,全双工异步模式SYNC=0,低速模式,发送移位空,不发送同步间隔符 + TSCTL = 0x22; // 8位 发送TX9 =0,使能发送TXEN =1,全双工异步模式SYNC=0,低速模式HBRG =0,发送移位空,不发送同步间隔符 RSCTL = 0x90; // 串口使能(配置引脚为串行口引脚),8位接收,接收使能,无帧错误,溢出错误,不考虑地址识别和第9位 } @@ -183,7 +183,9 @@ void UART_SendBuf(unsigned char SendTemp) void WatchDog_Init(void) { - PSA = 0; - WDTPS = 0x09; + _CWDT(); + PSA = 0; //预分频器用于T0 操作PSA前后必须喂狗,因为PSA =0将预分频器切换到T0后,此时看门狗溢出时间缩短,不喂狗可能会造成溢出复位 + _CWDT(); + WDTPS = 0x09; //0B 0000 1001 PSA =0条件下 512mS溢出时间 SWDTEN = 1; } diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c index 142013b..c3b51c9 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c @@ -1,11 +1,11 @@ /************************************************************************************* * 项目名: KF8A100ENG TOUCH KEY * 开发环境:ChipON IDE -* 软件版本:2021-03-07 +* 软件版本:2025-01-18 * 硬件: * 使用芯片:KF8A100ENG -* 作者: TIM WANG -* 功能简述: +* 作者: AE/FAE +* 功能简述: 触摸系统无按键按下时5s进入休眠,定时256ms唤醒,检测到触摸按键按下时运行主程序,若无按键按下直接再次休眠 *************************************************************************************/ #include "init_mcu.h" -- Gitee From 2255d073847561838caad0fc34f13743c000dcf5 Mon Sep 17 00:00:00 2001 From: Wang Junxiong <813568817@qq.com> Date: Fri, 7 Mar 2025 15:13:13 +0800 Subject: [PATCH 2/6] =?UTF-8?q?[update]=20A100ENG=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=AD=97=E6=94=B9=E4=B8=BA0x05c4:=20MODE=E8=84=9A=E4=BD=9C?= =?UTF-8?q?=E4=B8=BAIO=E5=8F=A3=E3=80=81=E6=89=93=E5=BC=80=E4=B8=8A?= =?UTF-8?q?=E7=94=B5=E5=BB=B6=E6=97=B6=E3=80=81=E6=8E=89=E7=94=B5=E7=9B=91?= =?UTF-8?q?=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c index fd02991..44f2142 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/config_set.c @@ -1 +1 @@ -unsigned int __at(0x2007) CONFIG =0x05ec; +unsigned int __at(0x2007) CONFIG =0x05c4; -- Gitee From 49c59720a53282ae1fc5a1d628c24d7522d076c9 Mon Sep 17 00:00:00 2001 From: Wang Junxiong <813568817@qq.com> Date: Fri, 7 Mar 2025 15:22:34 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[update]=20A100ENG=E8=A7=A6=E6=91=B8?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B=E7=A8=8B=E5=BA=8F=E6=9B=B4=E6=96=B0:1.?= =?UTF-8?q?=E8=AE=BE=E5=AE=9A=E5=80=BC=E6=9B=B4=E6=96=B0=EF=BC=9B2.?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=A4=96=E9=83=A8=E5=8F=82=E8=80=83=E7=94=B5?= =?UTF-8?q?=E5=8E=8B=EF=BC=9B3.=E4=B8=B2=E5=8F=A3=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=A2=9E=E5=8A=A0=E5=AE=8F=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KF8A100_LP_Touch_V1.1A_Lib/CTouch.c | 6 ++--- .../KF8A100_LP_Touch_V1.1A_Lib/CTouch.h | 16 ++++++++---- .../KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c | 5 ++-- .../KF8A100_LP_Touch_V1.1A_Lib/init_mcu.h | 2 +- .../KF8A100_LP_Touch_V1.1A_Lib/main.c | 26 +++++++++---------- 5 files changed, 30 insertions(+), 25 deletions(-) diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c index 7c54bac..9ff6d0d 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.c @@ -9,12 +9,10 @@ /*通道号设定*/ const unsigned char CTouch_Channel_Tab[] = {8, 7, 6, 5, 10}; - /*通道信号阈值设定*/ - const unsigned int CTouch_Threshold_Tab[] = {80, 80, 80, 80, 200}; + const unsigned int CTouch_Threshold_Tab[] = {100, 100, 100, 100, 100}; /*通道信号第二按键阈值增加设定(如果有多按键按下需求,必须全部设置为0)*/ -//const unsigned int CTouch_Second_Key_Threshold_Tab[] = {100, 100, 175, 108, 100}; const unsigned int CTouch_Second_Key_Threshold_Tab[] = {0, 0, 0, 0, 0}; /*通道信号迟滞设定*/ @@ -37,7 +35,7 @@ const unsigned int CTouch_Disturb_Noise_threshold_Tab[] = {40, 40, 40, 40, 40}; const unsigned unsigned char CTouch_Steady_Noise_threshold_Tab[] = {40, 40, 40, 40, 40}; // 电压参考值VDAC:raw尽量在5000 -const unsigned char CTOUCH_VDAC_Tab[] = {0x80, 0x90, 0x90, 0x90, 0x60}; +const unsigned char CTOUCH_VDAC_Tab[] = {0x60, 0x60, 0x60, 0x60, 0x60}; const unsigned char DEF_NUM_CHANNELS = sizeof(CTouch_Channel_Tab); diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h index 274c2f4..867c3ab 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/CTouch.h @@ -13,6 +13,12 @@ extern const unsigned char CTouch_Channel_Tab[]; extern const unsigned int CTouch_Threshold_Tab[]; extern const unsigned int CTouch_Second_Key_Threshold_Tab[]; + +//extern unsigned char CTouch_Channel_Tab[]; +//extern unsigned int CTouch_Threshold_Tab[]; +//extern unsigned int CTouch_Second_Key_Threshold_Tab[]; + + extern const unsigned char CTouch_Single_Hysteresis_Tab[]; extern const unsigned char CTouch_Noise_threshold_Tab[]; extern const unsigned char CTouch_Negative_Noise_threshold_Tab[]; @@ -116,14 +122,14 @@ extern void _CTouch_Datastreamer_Output_(void); #define DEF_TOUCH_ON_DEBOUNCE 3u #define DEF_TOUCH_ON_BASELINE_UPDATA_EN 1 //按键按下时基准线更新使能 -#define DEF_PRESS_ON_MAX_TIME_CNT_EN 1 //1为DEF_PRESS_ON_MAX_TIME(精准计时)单位为Timer1的溢出时间,0为DEF_PRESS_ON_MAX_CNT(单位为_CTouch_Scan_Process_的执行次数) -#define DEF_PRESS_ON_MAX_TIME 200 //0为长按有效 (按键按下时间大于此参数的2倍时强制更新基准线和原始值一致) +#define DEF_PRESS_ON_MAX_TIME_CNT_EN 1 //1为DEF_PRESS_ON_MAX_TIME(精准计时)单位为Timer1的溢出时间,0为DEF_PRESS_ON_MAX_CNT(单位为_CTouch_Scan_Process_的执行次数) +#define DEF_PRESS_ON_MAX_TIME 200 //0为长按有效 (按键按下时间大于此参数的2倍时强制更新基准线和原始值一致) #define DEF_PRESS_ON_MAX_CNT 1000 //0为长按有效 (按键按下时间大于_CTouch_Scan_Process_函数执行(DEF_PRESS_ON_MAX_CNT*2)次时强制更新基准线到和原始值一致) #define DEF_DATA_CHANGE_DISTURB_MAX_CHANNEL 3u //多通道干扰保护,3个通道信号值大于CTouch_Disturb_Noise_threshold_Tab[]阈值时,进入保护 -#define DEF_PROTECT_MODE_RELEASE_CYCLE 30 //保护模式退出时间,重复保护时会刷新计数,单位为_CTouch_Scan_Process_()的执行次数 -#define DEF_BASELINE_UPDATE_CNT 50 //基准线更新速度,单位为_CTouch_Scan_Process_()的执行次数 +#define DEF_PROTECT_MODE_RELEASE_CYCLE 30 //保护模式退出时间,重复保护时会刷新计数,单位为_CTouch_Scan_Process_()的执行次数 +#define DEF_BASELINE_UPDATE_CNT 50 //基准线更新速度,单位为_CTouch_Scan_Process_()的执行次数 #define DEF_MAX_KEY_CNT 2 //允许按键按下的个数,超过此值进入保护 -#define DEF_REFERENCE_CHANNEL_ENABLE 1u //参考通道保护 1:使能,0:关闭(以CTouch_Channel_Tab[]最后一个通道作为参考通道) +#define DEF_REFERENCE_CHANNEL_ENABLE 1u // 参考通道保护 1:使能 0 关闭(以CTouch_Channel_Tab[]最后一个通道作为参考通道) #define DEF_LOW_POWER_CHANNEL_NUM 2u //触摸通道从前往后,不启用低功耗功能时需置0 #define DEF_LOW_POWER_IND_CHANNEL_BASELINE_UPDATE_EN 1u //低功耗扫描函数_CTouch_LowPower_Scan_Process_()中非低功耗通道基准线更新使能位 diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c index 4daf2ad..eec99bf 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c @@ -44,7 +44,8 @@ void Init_Touch(void) __asm ;;VDACS=0x40; MOVB #0x00 - MOV R0,#0x40 + ;; MOV R0,#0x40 + MOV R0,#0x00 ORL 0x1A,R0 __endasm; VDAC=0xC0; @@ -132,7 +133,7 @@ void Init_I2C_S() ******************************************************************************/ void Init_Usart() { -#if 0 //选择P0.0 和 P0.1作为串口IO +#if 1 //选择P0.0 和 P0.1作为串口IO /***Usart相关寄存器初始化****/ BRCTL = 0x44; // 接收空闲 使用8位计数器,不考虑唤醒是使能和自动波特率检测 diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.h b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.h index 7a222fb..ddeca34 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.h +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.h @@ -12,7 +12,7 @@ #define I2C_SLAVE_ENABLE 0 #define I2C_SLAVE_ADDR 0x10 -#define USART_DEBUG_EN 1 +#define USART_DEBUG_EN 0 //函数的声明 extern void Init_MCU(); diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c index c3b51c9..2a52b4c 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c @@ -1,11 +1,11 @@ /************************************************************************************* * 项目名: KF8A100ENG TOUCH KEY * 开发环境:ChipON IDE -* 软件版本:2025-01-18 +* 软件版本:2025-01-0-18 * 硬件: * 使用芯片:KF8A100ENG * 作者: AE/FAE -* 功能简述: 触摸系统无按键按下时5s进入休眠,定时256ms唤醒,检测到触摸按键按下时运行主程序,若无按键按下直接再次休眠 +* 功能简述: 触摸系统无按键按下时5s进入休眠,定时256ms唤醒,检测到触摸按键按下时运行主程序,若无按键按下直接再次休眠 *************************************************************************************/ #include "init_mcu.h" @@ -72,17 +72,17 @@ void Sys_Run_Mode(void) { P2LR2 = P2LR1 = P2LR0 = P1LR0 = 1; } - -// _CTouch_Datastreamer_Output_(); - - /* 串口调试,只查看错误代码和键值 */ -#if 0 - - UART_SendBuf(0x55); - UART_SendBuf(Key_Error_Code); - UART_SendBuf(Key_Code >> 8); - UART_SendBuf(Key_Code&0xff); - +/* 串口调试,查看触摸数据(信号量,原始值,基准线等)*/ +#if (USART_DEBUG_EN == 1) +#if 1 + _CTouch_Datastreamer_Output_(); +#else + // /* 串口调试,只查看错误代码和键值 */ + UART_SendBuf(0x55); + UART_SendBuf(Key_Error_Code); + UART_SendBuf(Key_Code >> 8); + UART_SendBuf(Key_Code&0xff); +#endif #endif } -- Gitee From 7d79d91dc3e7e2d3426772c34e1613e01db9227c Mon Sep 17 00:00:00 2001 From: Wang Junxiong <813568817@qq.com> Date: Fri, 7 Mar 2025 15:26:10 +0800 Subject: [PATCH 4/6] =?UTF-8?q?[update]=20KF8TS=E9=85=8D=E7=BD=AE=E5=AD=97?= =?UTF-8?q?=E6=94=B9=E4=B8=BA0x05c4:=20MODE=E8=84=9A=E4=BD=9C=E4=B8=BAIO?= =?UTF-8?q?=E5=8F=A3=E3=80=81=E6=89=93=E5=BC=80=E4=B8=8A=E7=94=B5=E5=BB=B6?= =?UTF-8?q?=E6=97=B6=E3=80=81=E6=8E=89=E7=94=B5=E7=9B=91=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KF8TS_General_Touch_ASM_Demo_2516_V2.5/config_set.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KF8-Touch/KF8TS-series/KF8TS_General_Touch_ASM_Demo_2516_V2.5/config_set.asm b/KF8-Touch/KF8TS-series/KF8TS_General_Touch_ASM_Demo_2516_V2.5/config_set.asm index 4374737..64ee3ad 100644 --- a/KF8-Touch/KF8TS-series/KF8TS_General_Touch_ASM_Demo_2516_V2.5/config_set.asm +++ b/KF8-Touch/KF8TS-series/KF8TS_General_Touch_ASM_Demo_2516_V2.5/config_set.asm @@ -1,2 +1,2 @@ - __config 0x2007,0x0594 + __config 0x2007 ,0x05c4 .end \ No newline at end of file -- Gitee From e6c56970d2c75793a5bcfe89e6f9ea33f910315e Mon Sep 17 00:00:00 2001 From: wangjunxiong <813568817@qq.com> Date: Wed, 13 Aug 2025 10:52:13 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[update]=20=E5=A4=8D=E4=BD=8D=E5=BC=95?= =?UTF-8?q?=E8=84=9A=E8=AE=BE=E7=BD=AE=E4=B8=BA=E8=BE=93=E5=85=A5=EF=BC=9B?= =?UTF-8?q?P1.1=E8=A7=A6=E6=91=B8=E9=80=9A=E9=81=93=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=B8=BA=E8=BE=93=E5=85=A5=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c index eec99bf..0ffc175 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/init_mcu.c @@ -62,8 +62,8 @@ void Init_Touch(void) void Init_Touch_GPIO(void) { /* 端口初始化,设置触摸通道为输入 */ - TR0 = 0b00010111; - TR1 = 0b11111110; + TR0 = 0b00011111; + TR1 = 0b11111111; TR2 = 0b00001000; P2LR0 = 1; //LED3 -- Gitee From d5f3a4678d061c35f34979d511b5b863d2f82ed4 Mon Sep 17 00:00:00 2001 From: wangjunxiong <813568817@qq.com> Date: Wed, 10 Sep 2025 09:19:28 +0800 Subject: [PATCH 6/6] =?UTF-8?q?[change]=20=E8=BD=AF=E4=BB=B6=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=97=A5=E6=9C=9F=E6=9B=B4=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c index 2a52b4c..955d151 100644 --- a/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c +++ b/KF8-Touch/KF8A-series/KF8A100_LP_Touch_V1.1A_Lib/main.c @@ -1,7 +1,7 @@ /************************************************************************************* * 项目名: KF8A100ENG TOUCH KEY * 开发环境:ChipON IDE -* 软件版本:2025-01-0-18 +* 软件版本:2025-01-18 * 硬件: * 使用芯片:KF8A100ENG * 作者: AE/FAE -- Gitee