欢迎回到CapTlvate Technology软件设计快速指南系列课程 下面我们介绍CapTlvate 软件库的使用方法 在前面的课程中 我们介绍了如何使用CapTlvate design center 生成一个CapTlvate的工程 并生成我们所有的代码 那么 在生成这些代码之后 用户需要去创建自己的callback函数 那么接下来的课程 我们将介绍 如何使用TI (听不清)集成的CapTlvate软件库 的接口 来生成用户自己的 callback函数 右图所示的是我们(听不清)集成的CapTlvate软件库 函数的一个架构 此软件库主要包括三大部分 第一部分是我们的基础模块 主要完成一些校准 测试 测量 包括一些sensor的处理 的工作 第二部分是我们的高级模块 高级模块主要处理的是一些 按键 滑条 滚轮 以及相关的 EMC(听不清)算法的处理 第三部分是我们的通讯模块 该通讯模块的软件库集成了UART 和 i2C的软件底层驱动 来实现我们用户在线调试 功能的通信模块 右图所示的是我们一个CapTlvate sensor数据库的架构 CapTlvate软件库所生成的源代码中 包含了用户配置代码 其中包括一些sensor cycle element这些设置的工具 那所有的这些配置都是通过CapTlvate Design Center自动生成的 所生成的触摸配置文件存放在 CapTlvate_config 文件夹下面的源代码中 用户可以通过CapTlvate软件库所提供的变量 来访问所有touch相关的状态参数 下面所列的四个状态参数 分别为 BTOUCH BPROXIMITY BNEGATIVE TOUCH BDETECT 分别表示了一个触摸的状态 接近感应的状态 反向触摸的状态 以及一个有检测的状态 检测状态在touch或者接近感应 任意状态激活的情况下 会被激活 下面两段代码中 举例演示了如何通过 直接或者间接的方式来访问BTOUCH变量 用户通过dominant 参数 获取在一个button group中 具体哪一个button被按下 下面两段代码分别表示了 如何通过间接或者 直接的方式 来获取 具体哪一个button被按下 用户也可以通过函数调用的方式来获得dominant button的参数 本段代码显示了 如何通过我们的函数库 API的方式 来去获得 我们的dominant button参数 用户可以通过slider 或者wheel的position参数 来获得滑条或者滚轮的位置信息 当一个滑条滚轮没有被按下的时候 它的位置信息只为全f 下面两段代码演示了 如何通过 直接或者间接的方式 来访问滑条或者滚轮的位置信息 同时 我们也可以通过函数库的调用 来获得滑条或者滚轮的位置信息 除了以上几个重要的参数获取以外 用户还可以获取其他一些参数 比如说 Filtered count值 LTA值 Row count值 复合Row count值 以及前一个周期的复合Row count值 接下来我们需要去 产生一个callback函数 来调用我们CapTlvate软件库所提供的 所有的软件接口 来进行touch sensor的处理 大家可以看到我们右上角的图 在keypad所有的处理结束之后 系统会接入某一个callback函数 在这样一个callback函数之中 我可以去调用这样的一个软件库 所提供的所有的参数值 来进行处理 相应的用户的功能 都是在这里面实现 我们的CapTlvate软件库提供了一个CapTlvate register callback API接口 来注册我们的callback函数 用户可以在(听不清)函数中调用App Start函数之前 来注册我们的callback函数 下图所示的代码中 注册了一个 button callback 到我们的BTI0000这样一个 button sensor中去 我们需要注意的是 Cap App Handler这样一个 API的调用 必须保持在主循环中 谢谢