This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430FR2633:msp430fr2633

Guru**** 2556990 points
Other Parts Discussed in Thread: MSP430FR2633

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/587650/ccs-msp430fr2633-msp430fr2633

部件号:MSP430FR2633
主题中讨论的其他部件: MSPWARE

工具/软件:Code Composer Studio

您好!

如何在不使用设计中心的情况下触发微控制器的Captivate通道(我已经设计了内部板)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Nikhil,

    您是否能够提供有关您正在尝试做什么的更多详细信息?

    [报价用户="Nikhil Sonna"]如何在不使用设计中心的情况下触发微控制器的Captivate通道(我已经设计了内部板)。

    听起来您好像创建了自己的带有一个或多个传感器的主板。  Captivate设计中心用于根据您的传感器设计创建在该设备上运行的软件。  为MSP430FR2633 MCU设置软件后,您可以检查软件中的触摸检测标志,然后决定要执行的操作。


    请提供一些有关您在设计过程中所处位置的其他信息,我可以帮助您找到正确的信息。  软件库文档提供了操作方法部分,其中包含有关如何从Captivate软件库中提取触摸/非触摸数据的信息。

    此致,
    沃尔特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    沃尔特,您好!
    是的,我设计了一个带有电极贴片的板,用于检查接近探测。 我的板上没有HID,因此无法与GUI通信。 我只想在接近探测时触发传感器并相应地升起一个标记。 (我是否可以使用设计中心生成的代码来实现相同的目标?)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Nikhil,


    回答您的问题:

    Nikhil Sonna 说:
    (我可以使用设计中心生成的代码来实现同样的目标吗?)

    是的,您当然可以!  如果您已在Captivate设计中心为特定主板生成了新的软件项目,并且在IDE (Code Composer Studio或IAR嵌入式工作台)中设置了该项目,则可以在软件中轮询传感器触控状态。  在软件库用户指南中可以找到如何实现此目标的代码示例:

    您可以在软件中测试传感器/元素状态标志,然后决定如何报告状态信息。

    沃尔特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将电极贴连接到0.1 声道。 在代码中,我无法轮询信道的状态。 我跟着图书馆去了。 请在这方面帮助我。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Nikhil Sonna 说:
    我无法轮询频道的状态。[/QUOT]

    Nikhil,

    您能否详细说明此陈述或发布您正在执行的操作的代码片段?  这样我们就可以更好地确定问题所在。

    沃尔特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请忽略上一篇文章。 下面是我正在使用的代码以及配置详细信息。

    代码:


    #include <MSP4S.h>//通用MSP430器件包括
    #include "driverlib.h"// MSPWare驱动程序库
    #include "captate.h"// Captivate Touch软件库
    //#include "Capt_App.h"// Captivate应用程序代码
    #include "Capt_BSP.h"// Captivate EVM板支持包
    #include "Capt_Touch.h"

    Void主(void)

    //
    //初始化MCU
    // BSP_configureMCU()设置设备IO和时钟
    //全局中断启用设置为允许外围设备
    //唤醒MCU。
    //
    WDT_A_HOLD (WDT_A_BASE);
    BSP_configureMCU();
    __bis_sr_register (GIE);
    extern void Capt_calibrateSensorWithEMC (TSENSOR *pSensor);

    LED1_ON;
    __DELAY周期(100万);
    LED1_OFF;

    同时(1)

    /************************* 正在测试代码*************************************************************** /
    extern PRX00_E00;
    IF (PRX00_E00.bProx == true)

    LED1_ON;
    }
    否则

    LED2_OFF;
    }
    ********************* /
    //Capt_appSleep();

    }//结束背景循环
    }//结束main()

    配置文件:(由设计中心生成)

    //传感器:PRX00,元件:E00
    UINT16_t PRX00_E00_RawCnts[Capt_self_FREQ_CNT];
    tCaptivateElementTuning PRX00_E00_Tuning [Capt_self_FREQ_CNT];
    t元素PRX00_E00 =

    ui8RxPin = 1,
    ui8RxBlock = 0,
    ui8TouchThreshold = 10,
    .pRawCount = PRX00_E00_RawCnts,
    .pTuning = PRX00_E00_Tuning,
    };

    我已将电极贴片连接到0.1 (在设计中心以及硬件中)。

    任务:通过检测接近度,我希望发光LED。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我甚至尝试使用普通电容式触摸按钮功能。 不工作。

    代码:

    外部元素BTN00_E00;
    IF (BTN00_E00.bTouch == 1)

    LED1_ON;
    }
    否则

    LED2_OFF;
    }

    按钮配置文件(由设计中心生成)

    //传感器:BTN00
    const tCycle* BTN00_Cycles[1]=

    &BTN00_C00,
    };

    tButtonSensorParams BTN00_Params;
    TSENSOR BTN00 =

    //基本属性
    .TypeOfSensor = eButtonGroup,
    .SensingMethod = eSelf,
    .DirectionOfInterest = eDOIDown,
    .pvCallback = NULL,
    ui8NrOfCycles = 1,
    .pCycle = BTN00_Cycles,
    .pSensorParams =(tGenericSensorParams*)&BTN00_Params,
    //转换控制参数
    ui16ConversionCount = 500,
    ui16ConversionGain = 200,
    .ui8FreqDiv = 2,
    ui8ChargeLength = 0,
    .ui8TransferLength = 0,
    .bModEnable = FALSE,
    ui8BiasControl = 3,
    .bCsDisccharge = TRUE,
    .bLpmControl = FALSE,
    ui8InputSyncControl = 0,
    .bTimerSyncControl = FALSE,
    .bIdleState =真,
    //调整参数
    ui16ProxThreshold = 10,
    ui16 NegativeTouchThreshold = 20,
    ui16ErrorThreshold = 8191,
    ui16超时阈值=1000,
    .ProxDbThreshold.DbIn = 1,
    .ProxDbThreshold.DbOut = 0,
    .TouchDbThreshold.DbIn = 1,
    .TouchDbThreshold.DbOut = 0,
    .bCountFilterEnable = TRUE,
    ui8CntBeta = 1,
    .bSensorHalt = FALSE,
    .bPTSensorHalt = TRUE,
    .bPTELEmentHalt =真,
    ui8LTABeta = 7,
    .bReCalibrateEnable = true,
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Nikhil,

    看着您的代码,您错过了对Captivate软件库的几个关键函数调用,必须执行这些调用才能使电容式感应功能正常工作。

    您已删除了对Capt_AppStart()的调用,该调用所需的启动函数,如Capt_initUI()和Capt_CalibrateUI()。  然后,在后台while (1)循环中,检查状态标志,但从不实际更新接近传感器。

    我建议您从Captivate设计中心开始,并使用它为单个接近传感器创建新的启动程序项目。  然后,您可以导入该项目并对其进行测试。  如果它工作正常,您只需添加检查prox状态,就像您现在所做的那样-但您不能删除现有的初始化,校准和测量UI的调用。


    我建议您完成有关创建新传感器设计项目的研讨会:

    下面还有一个有关该主题的视频:

    此致,
    沃尔特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢! 我刚刚开始工作!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Nikhil,
    您是否能够使电容式触控工作? 我设计了自己的PCB,遇到了一些同样的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,我让它工作了! 获得足够的20 cm 范围用于接近感应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    太棒了! 能否与我共享您的代码? 我还制作了自己的PCB,但我没有与设计中心进行通信所需的引脚,我只是想确保我的调用正确,并且包含让代码在没有设计中心的情况下正常工作所需的一切
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Maricela,

    正如我们 之前的螺纹所述,您无需将Captivate设计中心连接到PCB即可运行。 您可以通过设计中心生成代码,并按照您的要求将其导入到CCS中。

    没有其他人能够为您的特定主板提供代码,因为我们不知道您如何设置它(即传感器数量,传感器类型等)。 您可以在设计中心中执行此操作,而无需连接到PCB并生成相应的代码。  

    此致,  
    Caleb Overbay