#include <device.h>
/* Need for Bargraph */
extern uint8 const CYCODE LCD_customFonts[];
uint16 curPos, oldPos;
void main()
{
/* 使能全局中断*/
CyGlobalIntEnable;
LCD_Start();
LCD_LoadCustomFonts(LCD_customFonts);
LCD_Position(0u, 0u);
LCD_PrintString("CSD01");
/* 初始化CapSense CSD ,并且启动传感器扫描循环*/
/*启动CapSense和基线*/
CapSense_CSD_Start();
/* I初始化基线 */
CapSense_CSD_InitializeAllBaselines();
/* 启动扫描所有使能的传感器*/
CapSense_CSD_ScanEnabledWidgets();
while(1u)
{
/* 更新所有的基线*/
CapSense_CSD_UpdateEnabledBaselines();
/* 启动扫描所有的传感器*/
CapSense_CSD_ScanEnabledWidgets();
/*显示CapSense状态*/
while(CapSense_CSD_IsBusy() != 0){}
LCD_DisplayState();
}
}
/*******************************************************************************
*函数名字: LCD_DisplayState
*******************************************************************************/
void LCD_DisplayState(void)
{
/* 显示BUTTON0的状态*/
LCD_Position(1u, 0u);
if (CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON0__BTN)) {
LCD_PrintString("A"); }
else {
LCD_PrintString("B"); }
/* 显示BUTTON1的状态*/
LCD_Position(1u, 2u);
if (CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON1__BTN)) {
LCD_PrintString("A"); }
else {
LCD_PrintString("B"); }
/* 找到滑块的位置*/
curPos = CapSense_CSD_GetCentroidPos(CapSense_CSD_LINEARSLIDER0__LS);
/* 复位位置 */
if(curPos == 0xFFFFu)
{
curPos = 0u;
}
/*移动条形图 */
if (curPos != oldPos)
{
oldPos = curPos;
/* 显示滑块条形图*/
if (curPos != 0u)
{
LCD_DrawHorizontalBG(0u, 9u, 6u, curPos>>2);
}
/* 显示滑块的位置值*/
LCD_Position(1u, 10u);
LCD_PrintInt16(curPos);
}
}
|