完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
IAM使用PSCO4 CYC4014微控制器为我们的项目, IAM使用下面提到的API来检测手指按压按钮, 1) 2)CAPENSESEIGCHECISWIDGETACtiVE() 下面是函数片段。 UIT32 32 CAPENSESEA校验传感器(UIT32传感器) { UIT8小部件; UTIN 8去抖动; UITN8 DeBunCEDATABLE; UTIT8指纹阈值; UIT8滞后现象; *准备寻找反跳计数器索引*/ 小部件= CAPENSESEIWIDGETIONT [传感器]; 指纹阈值=CAPENSESEI指纹阈值[WIDGET ]; 滞后=CAPENSESEA滞后[小部件]; DeBung=CAPENSESEBDUNCHUNG [WIDGET ]; DeBunCeCurth=小部件; * * * * 如果(0U)!= CAPENSESEIGETBITE值(CAPENSESEA感测器掩模,传感器) { /*滞后减去*/ 如果(CAPENSESEA传感器信号[传感器] &(指阈-滞后)) { CAPENSESEY SETBIT值(CAPENSESEA传感器,传感器,0U); ******** CabSnSeBeDunCeCurter(DeunCeCurdie=)去抖动; } } 其他/ *关闭* { /*滞后加* 如果(CAPENSESEA传感器信号[传感器]和GT;=(指阈+滞后)) { CopsSeNeDeBuncCeCurter [ DeBunCEDe] *传感器活性,减量反跳计数器* 如果(CopsSeNeDeBuncCeCurter [DeBouCEDe]==0U) { CAPSESESEY SETBIT值(CAPENSESEA传感器,传感器,1U); } } 其他的 { ******** CabSnSeBeDunCeCurter(DeunCeCurdie=)去抖动; } } 返回((UIT32)(0U)!= CAPENSESEIGETBIT值(CAPENSESEA传感器,传感器)?1U:0U); } 我无法检测手指按压,请让我知道问题在哪里。 谢谢和问候, 普拉莫德 以上来自于百度翻译 以下为原文 Hello, Iam using PSCO4 CYC4014 Microcontroller for our project, Iam using below mentioned API's for detecting if finger press on button, 1) CapSense_CheckIsSensorActive() 2) CapSense_CheckIsWidgetActive() Below is function snippet. uint32 CapSense_CheckIsSensorActive(uint32 sensor) { uint8 widget; uint8 debounce; uint8 debounceIndex; uint8 fingerThreshold; uint8 hysteresis; /* Prepare to find debounce counter index */ widget = CapSense_widgetNumber[sensor]; fingerThreshold = CapSense_fingerThreshold[widget]; hysteresis = CapSense_hysteresis[widget]; debounce = CapSense_debounce[widget]; debounceIndex = widget; /* Was on */ if (0u != CapSense_GetBitValue(CapSense_sensorOnMask, sensor)) { /* Hysteresis minus */ if (CapSense_sensorSignal[sensor] < (fingerThreshold - hysteresis)) { CapSense_SetBitValue(CapSense_sensorOnMask, sensor, 0u); /* Sensor inactive - reset Debounce counter */ CapSense_debounceCounter[debounceIndex] = debounce; } } else /* Was off */ { /* Hysteresis plus */ if (CapSense_sensorSignal[sensor] >= (fingerThreshold + hysteresis)) { CapSense_debounceCounter[debounceIndex]--; /* Sensor active, decrement debounce counter */ if(CapSense_debounceCounter[debounceIndex] == 0u) { CapSense_SetBitValue(CapSense_sensorOnMask, sensor, 1u); } } else { /* Sensor inactive - reset Debounce counter */ CapSense_debounceCounter[debounceIndex] = debounce; } } return ((uint32)((0u != CapSense_GetBitValue(CapSense_sensorOnMask, sensor)) ? 1u : 0u)); } Iam not able to detect the finger press,Please let me know where the issue is. Thanks & Regards, Pramod |
|
相关推荐
11个回答
|
|
嗨,Pramod,
你能分享整个项目吗? UIT32 32 CAPSESESECPSECISRORACTION(UIT32传感器)是CAPSENSE V2.X的内部功能。 一般来说,建议在主.c中使用CAPENSEXIGCHECISWIDGETActuple(WigGETNUM)。 谢谢, 赖安 以上来自于百度翻译 以下为原文 Hi Pramod, Could you share the full project? uint32 CapSense_CheckIsSensorActive(uint32 sensor) is an internal function of CapSense v2.x. Generally, it is recommended to use CapSense_CheckIsWidgetActive(Widget_Num) in main.c. Thanks, Ryan |
|
|
|
pengzhongdianzi 发表于 2018-10-29 12:42 嗨,赖安, 项目的PFA档案, 告诉我哪里出错了。 谢谢和问候, 普拉莫德卡希亚普 CopShansC.D.Cyrj.CaseVo.01.Zip 529 K 以上来自于百度翻译 以下为原文 Hi Ryan, PFA Archive of the project, Let me know where iam going wrong. Thanks & Regards, Pramod Kashyap
|
|
|
|
嗨,Pramod, 我得到了这个项目,我将在这几天调试,然后回来给你更多的细节。 在此之前,这里有一些建议: 1。使用CAPENSEXIGCHECISWIDGET Actudio(0)检测所有传感器的状态,然后直接使用CAPENSESEYSCONSORMONDATION(0)。 2。修改ISRS的所有优先级为3。 三。仅用CAPENSESEJCSD组件创建简单调试项目,以验证CAPSENSE可以很好地工作。 谢谢, 赖安 以上来自于百度翻译 以下为原文 Hi Pramod, I got the project, I will have a debug in these several days and then come back to you with more details. Before that, here are some suggestions FYI: 1. Use CapSense_CheckIsWidgetActive(0) to detect all sensors' status and then use CapSense_sensorOnMask[0] directly. 2. Modify all priority of ISRs as 3. 3. Create a simply debug project only with CapSense_CSD component to verify CapSense can work well. Thanks, Ryan |
|
|
|
嗨,瑞安, 谢谢你的回应, 我会试试你提到的API。 请尽快检查一下文件。 因为我需要尽早解决这个问题。 谢谢, 普拉莫德 以上来自于百度翻译 以下为原文 Hi ryan, Thanks for Response, I will try the API you have mentioned. Please can you review the porject file ASAP. As i need to fix this issue at the earliest. Thanks, Pramod |
|
|
|
嗨,瑞安, 为什么ISR的所有优先级设置为3。 请你把这件事记下来。 谢谢。 普拉莫德 以上来自于百度翻译 以下为原文 Hi ryan, Why all priority of ISR to be set to 3. Please can you elabrote on this. Thanks. Pramod |
|
|
|
嗨,Pramod, 当然。 关于ISR的优先级。如果不相同,高级别ISR可能中断低级别中断处理程序任务。如果共享的GPIO端口共享不同的资源,则应该避免这种情况。如果需要嵌套中断,请仔细检查是否存在任何风险。 谢谢, 赖安 以上来自于百度翻译 以下为原文 Hi Pramod, Sure. Regarding of the priority of ISR. If not same, high level ISR may interrupt low level interrupt's handler task. This should be avoided if some resources shared by different component, such as shared GPIO port. If nested interrupt is required, be careful to double-check in case of any risk. Thanks, Ryan |
|
|
|
嗨,Pramod, 我绕过定时器和I2C代码,调试CAPSENSE,它工作良好。反跳约为9~10。 谢谢, 赖安 以上来自于百度翻译 以下为原文 Hi Pramod, I bypassed Timer and I2C code, debugged CapSense and it works fine. Seems that debounce is about 9~10. Thanks, Ryan |
|
|
|
嗨,瑞安, 感谢您的项目检查。 事实上,我需要我们的项目I2C和计时器沿CAPSENSE模块。 IAM观察到,经过20秒的运行,代码的阈值、滞后和反跳参数值都变为0。 你能帮助我解决这个问题吗? 谢谢, 普拉莫德 以上来自于百度翻译 以下为原文 Hi ryan, Thanks for checking with project. Actually i require both I2C and timer in our project along capsense module. Iam observing that after 20 sec running the code,Finger threshold,Hysteresis and debounce parameter value are becoming 0. Can you please help me on this issue. Thanks, Pramod |
|
|
|
嗨,Pramod, 对。我认为您可以添加I2C和调试,然后添加定时器和调试……双检查问题的所在。 建议在调试模式下运行代码,并仔细检查何时和为什么这些PARAS变成0。 谢谢, 赖安 以上来自于百度翻译 以下为原文 Hi Pramod, Yes. I think you could add I2C and debug and then add Timer and debug..to double-check where the issue is. Recommend to run the code in debug mode and double-check when and why these paras becoming 0. Thanks, Ryan |
|
|
|
pengzhongdianzi 发表于 2018-10-29 14:25 嗨,赖安, 我会检查和调试,正如你所说的。 谢谢, 普拉莫德卡希亚普 以上来自于百度翻译 以下为原文 Hi Ryan, I will check and debug as you have said. Thanks, Pramod Kashyap |
|
|
|
嗨,瑞安, 绕过I2C和调试后,问题似乎得到了解决。 你能告诉我这个问题为什么会出现吗? 我已经把所有的ISR优先级放在同一水平上。 谢谢和问候, 普拉莫德卡希亚普 以上来自于百度翻译 以下为原文 Hi ryan, After bypassing I2C and debugging the issue seems to be resolved. Can you please let me know why this issue is coming up. I have given all the ISR priority at the same level. Thanks & Regards, Pramod Kashyap |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
569浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
423浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
383浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 16:56 , Processed in 1.161528 second(s), Total 98, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号