你是想判断按键是不是触发的状态吗: 你可以在组件手册里面查看这个函数;
uint32 CapSense_CheckIsSensorActive(uint32 sensor)
具体的使用方法,你可以参考下面的历程(这个历程包含了滑条和按键)
int main()
{
LCD_Start();
CapSense_CSD_Start();
/* The custom fonts for the bargraph need to be manually loaded */
LCD_LoadCustomFonts(LCD_customFonts);
LCD_Position(0u, 0u);
LCD_PrintString("CSD01");
/* Enable global interrupts */
CyGlobalIntEnable;
/* Initialize baselines */
CapSense_CSD_InitializeAllBaselines();
while(1u)
{
/* Update all baselines */
CapSense_CSD_UpdateEnabledBaselines();
/* Start scanning all enabled sensors */
CapSense_CSD_ScanEnabledWidgets();
/* Wait for scanning to complete */
while(CapSense_CSD_IsBusy() != 0)
{
/* Loop until condition true */
}
/* Display CapSense state using LED/LCD */
CapSense_DisplayState();
}
}
/*******************************************************************************
* Function Name: CapSense_DisplayState
********************************************************************************
* Summary:
* Function performs following functions:
* Display Buttons' state using LEDs and Slider state using LCD bargraph
*
* Parameters:
* None
*
* Return:
* None
*
*******************************************************************************/
void CapSense_DisplayState(void)
{
/* Display BUTTON0 state */
if (CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON0__BTN))
{
LED1_Write(1u);
}
else
{
LED1_Write(0u);
}
/* Display BUTTON1 state */
if (CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON1__BTN))
{
LED2_Write(1u);
}
else
{
LED2_Write(0u);
}
/* Find Slider Position */
curPos = CapSense_CSD_GetCentroidPos(CapSense_CSD_LINEARSLIDER0__LS);
/* Reset position */
if(curPos == 0xFFFFu)
{
curPos = 0u;
}
/* Move bargraph */
if (curPos != oldPos)
{
oldPos = curPos;
/* Display Slider bargraph */
if (curPos != 0u)
{
LCD_DrawHorizontalBG(0u, 9u, 6u, curPos >> 2);
}
/* Display Slider position value */
LCD_Position(1u, 10u);
LCD_PrintInt16(curPos);
}
}
|