找回密码
 立即注册
查看: 190|回复: 3

为何 Touch_Init(); 初始化触摸模块 这条语句会导致IO口输出高电平

[复制链接]
已绑定手机

3

主题

5

回帖

39

积分

新手上路

积分
39
发表于 2025-2-10 15:33:40 | 显示全部楼层 |阅读模式
    Touch_Init();  初始化触摸模块
    LED=0; //熄灭
以上2条语句在循环执行过程中,应该呈现LED熄灭,但是实际是微微亮

    LED=0; //熄灭
以上语句在循环执行过程中,应该呈现LED熄灭,实际也是熄灭的。

为何 Touch_Init();  初始化触摸模块 这条语句会导致IO口输出高电平



void Touch_Init() {
    // 配置触摸通道0
    TSCFG1 = 0x0F;  // 设置触摸按键的采样时间和时钟分频
    TSCFG2 = 0x01;  // 选择触摸通道0
    TSCTRL = 0x80;   // 使能触摸按键模块
}

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4850

回帖

8384

积分

超级版主

DebugLab

积分
8384
发表于 2025-2-10 15:52:40 | 显示全部楼层
触摸按键控制器在工作时,IO有微弱的模拟信号,可以导致LED微亮,这是正常的(正常的现象,但不是正常的工作状态)
作为触摸按键的IO需要设置为高阻,且不能在未打开LED分时扫描时接LED
如需使用LED分时扫描功能(仅当IO不够用时建议这样使用,如需要同时扫描多个触摸按键和驱动多位数码管还有其他电路需要使用很多IO,因软硬件复杂且可能影响触摸效果,不建议在IO充足的场合使用),有一些注意事项如图所示(数据手册截图,具体请查看数据手册)
截图202502101554041399.jpg
截图202502101554221197.jpg
截图202502101554351913.jpg


DebugLab
回复 支持 反对

使用道具 举报 送花

已绑定手机

3

主题

5

回帖

39

积分

新手上路

积分
39
发表于 2025-2-10 16:32:53 | 显示全部楼层
触摸按键控制器在工作时,我理解应该是触摸和LED复用的IO有微弱的模拟信号吧,但是我实际使用的LED端口为P4.5(它不是触摸端口),我用的触摸端口为P1.0
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2025-2-10 18:51:17 | 显示全部楼层
upxj*** 发表于 2025-2-10 16:32
触摸按键控制器在工作时,我理解应该是触摸和LED复用的IO有微弱的模拟信号吧,但是我实际使用的LED端口为P4 ...

最好提供能复现问题的最小化项目文件,例如只包含会产生问题的相关初始化程序跟主循环程序,这样才好分析。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 22:17 , Processed in 0.138370 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表