首先通过链接: HYPERLINK "https://www.infineon.com/cms/en/product/microcontroller/32-bit-psoc-arm-cortex-microcontroller/psoc-4-32-bit-arm-cortex-m0-mcu/psoc-4000-entry-level/psoc-4000t/"
找到ModusToolbox™ ,该软件是支持 Infineon 器件的开发工具和嵌入式资源的集合。ModusToolbox™ 工具包包括桌面应用程序,支持创建新的嵌入式项目、管理软件资源、配置设备外设和中间件,以及用于编译、编程和调试的多个 IDE 选项。支持Windows、Linux和MacOS。这些 ModusToolbox™ 应用程序利用了大量 GitHub 托管的存储库,其中包括来自 Infineon 及其合作伙伴的代码示例、板级支持包和中间件。中间件库包括 CAPSENSE™ HMI、连接性、机器学习、图形、安全性等。要注意的是这个软件只能在win10或者以上系统运行,某些低版本插件还要升级才能完成全部功能测试;如图所示打开软件安装其他调试软件,要注意安装文件的版本,如果低了在使用时会出现莫名其妙的问题。
打开软件Eclipse IDE for ModusToolbox™ 3.4,新建工程,选择合适芯片,如图:
在next的对话框中选择合适传感器:
选择第一项 MSCLP CAPSENE Hover Touch生成代码,编译之后生成代码下载调试;如果需要在电脑端观察液位波形图,可以打开CAPSENSE Tuner7.10,这里要注意这个版本需要自动升级,不然不会出现I2C接口,没办法接收数据。所以重新安装了部分软件,将ModusToolbox™Toolspackage3.40版本升级为3.50版本,再打开工程,运行CAPSENSE Tuner8.0依次进行设置,注意主板上的拨码要设置到I2C,在下图上边的圆框中有三个按键,第一个时进行连接方式配置,第二个是连接,第三个是启动传感器波形运行界面:
运行主板上代码,并且启动CAPSENSE Tuner8.0之后,按动金属键会有如下波形;
还能在键盘上方观察到LED随按键的反应;
然后阅读代码,主要框架如下:
主函数完成初始化电容传感器
初始化tuner通信I2C协议模块
扫描悬浮按键传感器
根据按键传感器状态控制LED
for (;;)
{
/* 扫描传感器状态 */
Cy_CapSense_ScanAllWidgets(&cy_capsense_context);
/* 执行中断处理,返回中断状态 */
interruptStatus = Cy_SysLib_EnterCriticalSection();
while (Cy_CapSense_IsBusy(&cy_capsense_context))
{
Cy_SysPm_CpuEnterDeepSleep();
Cy_SysLib_ExitCriticalSection(interruptStatus);
/* 执行中断处理,返回中断状态 */
interruptStatus = Cy_SysLib_EnterCriticalSection();
}
Cy_SysLib_ExitCriticalSection(interruptStatus);
/* 响应电容按键 */
Cy_CapSense_ProcessAllWidgets(&cy_capsense_context);
/* 将按键信息传送给Tuner,并控制LED做出响应 */
Cy_CapSense_RunTuner(&cy_capsense_context);
led_control();
}
还有I2C的设置和数据传输省略,整个过程不需要写代码,也能完成调试;
|