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