1343|7

2937

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

【RTT&英飞凌PSoC6评估板】触摸滑条测试 [复制链接]

触摸滑条可是英飞凌最为推崇的功能,英飞凌触摸功能支持“自电容”和“互电容”两种方式,本次测试使用滑条块测试自电容模式和互电容模式,但是引脚和标准板子不一样需要调整。

 首先还是创建keil项目,本次测试使用CAPSENSE Buttons and Slider模板,

 还是先把debug为两线模式,将WCO去掉,CLK_LF转换源为ILO

修改CYBSP_DEBUG_UART_RX和CYBSP_DEBUG_UART_TX,P6.4和P6.5

 依据原理图进行修改

注意调整各个引脚

CYBSP_CSD_SLD0, CYBSP_CS_SLD0  ——>  P7[3]

CYBSP_CSD_SLD4, CYBSP_CS_SLD1 ——>  P9[0]

CYBSP_CSD_SLD4, CYBSP_CS_SLD2 ——>  P9[1]

CYBSP_CSD_SLD4, CYBSP_CS_SLD3 ——>  P9[2]

CYBSP_CSD_SLD4, CYBSP_CS_SLD4 ——>  P9[3]

 滑条和按钮是在一起的,互电容的按钮使用P7[3]和P9[3]

所有要在这两个引脚上加入按钮的宏语句,

CYBSP_CSD_SLD0, CYBSP_CS_SLD0, CYBSP_CSD_BTN0, CYBSP_CS_BTN0  ——>  P7[3]

CYBSP_CSD_SLD4, CYBSP_CS_SLD4, CYBSP_CSD_BTN1, CYBSP_CS_BTN1 ——>  P9[3]

将互电容发生脚调整

CYBSP_CSD_RX, CYBSP_CS_RX, CYBSP_CS_TX_RX ——>  P7[0]

  修改后如下,

  接着修改外设。

 修改调整后保存save,

打开项目

 将capsense_callback()修改为capsense_callback(cy_stc_active_scan_sns_t * ptrActiveScan);

去掉led的程序,//initialize_led();

主要的程序是process_touch()函数

/*******************************************************************************
* Function Name: process_touch
********************************************************************************
* Summary:
*  Gets the details of touch position detected, processes the touch input
*  and updates the LED status.
*
*******************************************************************************/
static void process_touch(void)
{
    uint32_t button0_status;
    uint32_t button1_status;
    cy_stc_capsense_touch_t *slider_touch_info;
    uint16_t slider_pos;
    uint8_t slider_touch_status;
    bool led_update_req = false;

    static uint32_t button0_status_prev;
    static uint32_t button1_status_prev;
    static uint16_t slider_pos_prev;
	  static uint16_t slider_pos_value;
    //static led_data_t led_data = {LED_ON, LED_MAX_BRIGHTNESS};

    /* Get button 0 status */
    button0_status = Cy_CapSense_IsSensorActive(
        CY_CAPSENSE_BUTTON0_WDGT_ID,
        CY_CAPSENSE_BUTTON0_SNS0_ID,
        &cy_capsense_context);

    /* Get button 1 status */
    button1_status = Cy_CapSense_IsSensorActive(
        CY_CAPSENSE_BUTTON1_WDGT_ID,
        CY_CAPSENSE_BUTTON1_SNS0_ID,
        &cy_capsense_context);

    /* Get slider status */
    slider_touch_info = Cy_CapSense_GetTouchInfo(
        CY_CAPSENSE_LINEARSLIDER0_WDGT_ID, &cy_capsense_context);
    slider_touch_status = slider_touch_info->numPosition;
    slider_pos = slider_touch_info->ptrPosition->x;

    /* Detect new touch on Button0 */
    if ((0u != button0_status) &&
        (0u == button0_status_prev))
    {
//        led_data.state = LED_ON;
        led_update_req = true;
			  
    }

    /* Detect new touch on Button1 */
    if ((0u != button1_status) &&
        (0u == button1_status_prev))
    {
//        led_data.state = LED_OFF;
        led_update_req = true;
			  
    }

    /* Detect the new touch on slider */
    if ((0 != slider_touch_status) &&
        (slider_pos != slider_pos_prev))
    {
        slider_pos_value = (slider_pos * 100)
                / cy_capsense_context.ptrWdConfig[CY_CAPSENSE_LINEARSLIDER0_WDGT_ID].xResolution;
          led_update_req = true;
			    printf("%d \r\n",slider_pos_value);
    }

    /* Update the LED state if requested */
    if (led_update_req)
    {
        //update_led_state(&led_data);
			  printf("Button\r\n");
    }

    /* Update previous touch status */
    button0_status_prev = button0_status;
    button1_status_prev = button1_status;
    slider_pos_prev = slider_pos;
}

启动程序

 用手触摸滑条

 可以看到滑条的数值的变化。

总结:

这个测试花了一整天的时间将英飞凌的触摸的设置了解了个大概,测试中需要引脚的对应。

最新回复

那挺不错的,可以用在一些需要滑动设计的产品上。   详情 回复 发表于 2023-7-3 13:04
点赞 关注

回复
举报

6815

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

触摸滑条测试原来是这样整的,最后的测试中需要引脚的对应

 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

感谢分享1111111111

 
 
 

回复

7205

帖子

2

TA的资源

版主

4
 

精度怎么样,手不动的时候数值会飘吗?

点评

精度很准,基本上不会漂,而且昨天我把手弄湿了,也能有反应  详情 回复 发表于 2023-7-1 08:21
 
 
 

回复

2937

帖子

4

TA的资源

五彩晶圆(中级)

5
 
wangerxian 发表于 2023-6-30 16:39 精度怎么样,手不动的时候数值会飘吗?

精度很准,基本上不会漂,而且昨天我把手弄湿了,也能有反应

点评

那挺不错的,可以用在一些需要滑动设计的产品上。  详情 回复 发表于 2023-7-3 13:04
 
 
 

回复

1569

帖子

0

TA的资源

五彩晶圆(初级)

6
 
不错的资料,感谢楼主分享的资料。正好学习学习别人的设计。
 
 
 

回复

6998

帖子

11

TA的资源

版主

7
 

触摸滑条可是英飞凌最为推崇的功能,英飞凌触摸功能支持“自电容”和“互电容”两种方式,本次测试使用滑条块测试自电容模式和互电容模式,但是引脚和标准板子不一样需要调整。

 
 
 

回复

7205

帖子

2

TA的资源

版主

8
 
bigbat 发表于 2023-7-1 08:21 精度很准,基本上不会漂,而且昨天我把手弄湿了,也能有反应

那挺不错的,可以用在一些需要滑动设计的产品上。

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
快乐知识:CPU是如何制作成的?

如果按价格/重量来计算,CPU要比黄金还贵得多。几乎所有的人都知道CPU主要是以硅为为原料制成的。而硅是地球上多得无法计数的元 ...

将模拟电路数字化可减少芯片面积

因为模拟电路拒绝遵循摩尔定律,所以逻辑电路设计者正在采取相应措施以便充分利用CMOS工艺的优势。通过用数字电路取代模拟功能, ...

自动进仓库车的原理图和PCB图(超详细)~~小车设计的一定要看哟!

这是自动进仓库车的原理图和PCB图,包括超声波检测模块,光电检测模块,电机驱动模块和主控制模块,希望对大家小车的设计有一定 ...

LPC1114/LPC11U14和LPC1343对比学习(一)整体对比

为了让大家一起最快的认识这几张微处理器,后面我们将和大家一起对这三种微处理器进行对比性学习,力求让大家尽快的认识这三种 ...

【TI原创】在任何上网的机器监测LM3S8962的温度

这个程序利用花生壳可以在任何一台能上互联网的电脑看到家里的开发板及板子周围的温度,我刚才测了下35度,呵呵呵,还算平安,若 ...

测评汇总:乐鑫ESP32-C3-DevKitM-1

活动详情:https://bbs.eeworld.com.cn/elecplay/content/175 更新至7月22日 测评汇总: @dmzdmz666666 【ESP32- ...

【雅特力AT32WB415系列蓝牙BLE 5.0 MCU】+ 开箱测评&IDE安装&keil安装

【雅特力AT32WB415系列蓝牙BLE 5.0 MCU】+ 开箱测评 评估板实际样式 631019 1.1、板载出厂程序是一个流水灯 ...

【NUCLEO-H743ZI】6、FFT计算性能测试

在前面的帖子中完成了DSP库使用环境的搭建,本帖进行数字信号常用的FFT计算测试。 将例子en.stm32cubeh7_v1-11-0\STM32Cube_F ...

降压buck拓扑开关波形解析

在测试BUCK的开关波形时,经常看到不同芯片波形不一样,比如有的上管导通前有下冲,导通后有过冲,断开后有下冲,有的除了有过冲外,还 ...

收到盲盒礼物:FSSDC-9B506-EK Easy Kit

883467 这片 Easy Kit板上扩展了所有芯片的I/O和外设引脚; 点阵液晶显示模块128 x 64个像素; 基于FM3芯片,包含片上 ...

关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表