查看: 3311|回复: 7

[求助] 提问:KL25 TSI

[复制链接]

该用户从未签到

12

主题

54

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2019-7-8
发表于 2014-12-16 11:55:59 | 显示全部楼层 |阅读模式
请问怎么正确配置KL25 TSI Out-of-Range中断。我发现我的板子只要开启了TSI中断,就无论怎么配置都会产生Out-of-Rang中断,而且在中断中检测到OUTRGF标志也置位了,不知道什么原因。
比如我配置如下:
   TSI0_GENCS |= (TSI_GENCS_ESOR_MASK
                   | TSI_GENCS_MODE(0)
                   | TSI_GENCS_REFCHRG(4)
                   | TSI_GENCS_DVOLT(0)
                   | TSI_GENCS_EXTCHRG(7)  
                   | TSI_GENCS_PS(4)
                   | TSI_GENCS_NSCN(11)
                   | TSI_GENCS_TSIIEN_MASK
                   | TSI_GENCS_STPE_MASK
                   );

TSI0_TSHD=0xffffffff;//没办法了,把阈值配置成最大再说,其实配不配都一样
  TSI0_GENCS |= TSI_GENCS_TSIEN_MASK;

  TSI_SelfCalibration();//校准

  TSI0_DATA = ((elec_array[0]<<TSI_DATA_TSICH_SHIFT) );
   TSI0_DATA |= TSI_DATA_SWTS_MASK;


以上配置可以正常产生En-of-scan中断,当时中断中读到OUTRGF的标志也置位了,写清空后,再次软件扫描TSI,OUTRGF又置位了,不知道为什么?
测试时,中断后读取TSI0_GENCS 的置为  0x80878BE4。写1清空最高位OUTRGF标志后TSI0_GENCS 的值为0x00878BE0,(注意:EOSF的值也自动清除掉了)

同样在配置为Out-of-Range中断是,软件扫描结束后也会产生OUTRGF中断,不停的软件扫描就会不停的产生该中断,根本没有触摸呀,阈值寄存器怎么设置都没有用。都会产生中断


备注:软件扫描,不开启中断时,可以正常读取各个按键。



我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

12

主题

54

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2019-7-8
 楼主| 发表于 2014-12-16 12:11:17 | 显示全部楼层
在线等一个正常的 Out-of-Range中断的例子
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-12-16 13:29:24 | 显示全部楼层
n841115849 发表于 2014-12-16 12:11
在线等一个正常的 Out-of-Range中断的例子

楼主看下你芯片的MASKSET号,是不是2N97F?
如果是,那么关于TSI是有相关的勘误表的,讲了相关问题以及解决方案,你先照着做下:

32.jpg

回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

54

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2019-7-8
 楼主| 发表于 2014-12-16 13:40:24 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-12-16 13:29
楼主看下你芯片的MASKSET号,是不是2N97F?
如果是,那么关于TSI是有相关的勘误表的,讲了相关问题以及解 ...

是2N97F的,但是我配置完后,一启动软件扫描就产生了Out-of-Rang中断,都没有触摸哦
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

54

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2019-7-8
 楼主| 发表于 2014-12-16 13:50:05 | 显示全部楼层
n841115849 发表于 2014-12-16 13:40
是2N97F的,但是我配置完后,一启动软件扫描就产生了Out-of-Rang中断,都没有触摸哦 ...

这样怎么实现低功耗模式触摸唤醒啊,一启动扫描就中断唤醒了
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

54

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2019-7-8
 楼主| 发表于 2014-12-16 14:05:55 | 显示全部楼层
根据勘误表里面的描述是不是说,要用TSI某个中断来唤醒MCU是不可能的啦,因为他需要软件来清除EOSF
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-12-17 14:13:26 | 显示全部楼层
n841115849 发表于 2014-12-16 14:05
根据勘误表里面的描述是不是说,要用TSI某个中断来唤醒MCU是不可能的啦,因为他需要软件来清除EOSF ...

楼主,你用的板子是自己的板子,还是官方的板子呢?
你把你的代码上传,我这边看看。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
    发表于 2016-1-7 17:54:07 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-16 13:29
    楼主看下你芯片的MASKSET号,是不是2N97F?
    如果是,那么关于TSI是有相关的勘误表的,讲了相关问题以及解 ...

    大版主,我现在配置TSI为Out-of-range模式,没有使用DMA,按照勘误表上说的,每次扫描结束都要清一下EOSF标志位,我照做了,但是中断服务函数在没有触摸的情况下还是一直在进。如何是好?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 14:01 , Processed in 0.105108 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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