找回密码
 立即注册
查看: 110|回复: 2

AI助手生成STC8H4K64TL触摸按键程序

[复制链接]
已绑定手机

74

主题

1003

回帖

3651

积分

论坛元老

初出茅庐&无甚本事

积分
3651
发表于 2026-8-1 12:45:08 | 显示全部楼层 |阅读模式
提示错误
/* 启动扫描 */
    TSGO = 1;

原来STC8H.h没有 TSGO
截图202608011243565098.jpg

TSGO在TSCTRL中

偶尔看看玩玩
回复

使用道具 举报 送花

已绑定手机

74

主题

1003

回帖

3651

积分

论坛元老

初出茅庐&无甚本事

积分
3651
 楼主| 发表于 2026-8-1 13:26:17 | 显示全部楼层
有没有可能头文件版本过旧,怎么解决

1.使用与或操作完成位操作
TSCTRL |= 0x80;

2.使用sbit
sbit TSGO = TSCTRL^7;
偶尔看看玩玩
回复

使用道具 举报 送花

已绑定手机

74

主题

1003

回帖

3651

积分

论坛元老

初出茅庐&无甚本事

积分
3651
 楼主| 发表于 2026-8-1 13:33:51 | 显示全部楼层
狂热*** 发表于 2026-8-1 13:26
有没有可能头文件版本过旧,怎么解决

1.使用与或操作完成位操作

不支持位寻址
方法2无效

方法1可以直观优化
/* 在程序里自定义位宏 */
#define TSGO    0x80    /* 触摸扫描启动位  B7 */
#define SINGLE  0x40    /* 单次扫描          B6 */
#define TSWAIT  0x20    /* 等待控制          B5 */
#define TSWUEN  0x04    /* 低功耗唤醒使能    B2 */
#define TSSAMP1 0x02    /* 重复扫描数       B1 */
#define TSSAMP0 0x01    /* 重复扫描数       B0 */

P_SW2 |= 0x80;       /* 开启 EAXFR,才能访问 XFR 区寄存器 */
TSCTRL |= TSGO;      /* 启动扫描,等价于“TSGO=1” */
偶尔看看玩玩
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-22 11:32 , Processed in 0.065608 second(s), 53 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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