这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Cypress » zhzhx66的进程帖

共19条 2/2 1 2 跳转至
菜鸟
2013-09-25 19:42:36     打赏
11楼

软时钟_外部中断

CY_ISR(isr_Button)
{
    CyDelay(200u);
    state = 1u;
    Pin_ClearInterrupt();
}

CY_ISR(isr_Timer)
{
    SecondFlag=1;
    Second++;
    if(Second>59)
    {
        Second=0;
        Minute++;
        if(Minute>59)
        {
            Minute=0;
            Hour++;
            if(Hour>23)
            {
                Hour=0;
                Week++;
                if(Week>6)
                {
                    Week=0;
                }
            }
        }
    }
    
    Timer_ClearInterrupt(Timer_INTR_MASK_TC);
}

void main()
{
    volatile uint32 temp = 0u;
    /* Enable the global interrupts */
    CyGlobalIntEnable;
    /* Enable the Interrupt component connected to the Button interrupt */
    isr_Button_StartEx(isr_Button);
    /* Enable the Interrupt component connected to the Timer interrupt */
    isr_Timer_StartEx(isr_Timer);
    /* Start the Timer component */
    Timer_Start();
    /* Start the Segment LCD component */
    LCD_Seg_Start();

    for(;;)
    {        
        if(0u == state)
        {
            /* Displaying the timer value */
            if(SecondFlag==1)
            {
                SecondFlag=0;
                LCD_Seg_WriteBargraph_2(Week+1u, 0u);
                LCD_Seg_Write7SegNumber_0(10000+Hour*100+Minute, 0u, LCD_Seg_NO_LEADING_ZEROES);           
                LCD_Seg_WritePixel(LCD_Seg_COL, Second%2);
                LCD_Seg_Write7SegNumber_1(100+Second, 0u, LCD_Seg_NO_LEADING_ZEROES);           
            }
        }
        else
        {
            if (0u == temp)
            {
                /* Prepare the Timer component to Sleep mode */
                Timer_Sleep();
                temp = 1u;
                /* Put the chip into Deep Sleep mode */
                CySysPmDeepSleep();
            }
            else
            {
                /* Restore the Timer component after Sleep */
                Timer_Wakeup();
                temp = 0u;
                state = 0u;
            }
        }
    }
}


菜鸟
2013-10-09 17:39:46     打赏
12楼

CapSense 调校过程,以下是详尽步骤,供大家分享!

使用和调试CapSense 组件的典型过程如下:

1、将CapSense_CSD 组件从组件目录拖动到您的设计中。

2、双击可打开Configure 对话框,将Tuning method 选择为Auto(SmartSense)

CSD1

3、根据您应用的需要更改CapSense CSD 参数。在Widgets Config选项卡上添加并配置“widgets”。

CSD3CSD2

4、在Tune Helper选项卡上:必须选中Enable Tune Helper复选框,I2C address(7-bits):0x08。

CSD4

5、将调谐器初始化及通信代码添加到项目main.c文件中

void main() 
{
    /* Enable Global Interrupts */
    CyGlobalIntEnable;
    CapSense_TunerStart(); 
    for(;;)
    {
    CapSense_TunerComm();       
    }
}
6、配置引脚:SCL P3.0,  SDA P3.1

CSD5

7、编译下载程序。

8、右击CapSense CSD组件图标,然后从上下文菜单中选择Launch Tuner项。调谐器应用将打开。

csd6

9、点击Configuration,以打开Tuner Communication对话框,配置通信参数。属性必须与Tune Helper选项卡中的完全一致:I2C Speed、I2C Address。必须将Sub-address设置为1-Byte。

csd7

10、点击调试GUI上的Start,开始调试。所有CapSense元件开始显示其值。

csd9

点击Graphing可看到波形

csd8

11、编辑其中一个元件的参数值,按[Enter]键或转入另一个选项后,参数值会自动应用。

12、依次选择File->Apply Changes and Close,参数回写到 CapSense_CSD 实例。


专家
2013-10-09 20:54:50     打赏
13楼
估计PSoC4  后天能玩得上

菜鸟
2013-10-13 11:34:49     打赏
14楼
LCD and LED driver

菜鸟
2013-10-16 21:23:28     打赏
15楼
例程2是关于触摸按键的简单应用,供大家分享。

菜鸟
2013-11-30 14:43:22     打赏
16楼
好久没有更新了

菜鸟
2013-12-11 09:13:14     打赏
17楼
这是得奖的节奏哎!

菜鸟
2013-12-11 23:08:10     打赏
18楼
有这苗头,来者不拒,呵呵!!

助工
2013-12-13 23:42:50     打赏
19楼
加油楼主  精彩纷呈 爱板的好项目也不少

共19条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]