打印
[新手园地]

【第三批】学习笔记2:按键中断与采集

[复制链接]
1780|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
564451696|  楼主 | 2011-10-19 07:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题:有code有真相!!!
/*********************************************************************************************
*                    菜农新唐M0助学交流(Q群:12047788)
* 模块名称:按键中断及蜂鸣器操作
* 创建时间:2011-10-18
* 所属公司 : 火星菜农集团
* 文件名称:         Main.c
* 作者 :  周炳权
* 功能描述:        按KEY1进入中断驱动蜂鸣器;按KEY2进入流水灯,关蜂鸣器。
*----------------------------------------------------------------
修改记录:

修改日期:

修改人:

**********************************************************************************************************/
#include <stdio.h>
#include "NUC1xx.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"
/********************************************************************
*@作者:周炳权
*@功能:外部中断0回调函数
*
*@输入:          NONE
*@输出:        NONE
********************************************************************/
void EINT0CALLBACK( void )
{
        DrvGPIO_SetBit( E_GPB, 10);       

}

int main( void )
{
        UNLOCKREG(x);                                                 /*芯片注册解锁*/
        SYSCLK->PWRCON.XTL12M_EN =1;                 /*设定12M外部晶振*/
        LOCKREG(x);                                                         /*芯片上锁*/

        DrvSYS_Delay(5000);                                         /*等待时钟就绪*/
        DrvGPIO_Open( E_GPA, 2, E_IO_OUTPUT);/*设置端口GPA2为输出模式*/
        DrvGPIO_Open( E_GPA, 3, E_IO_OUTPUT);/*设置端口GPA3为输出模式*/
        DrvGPIO_Open( E_GPA, 4, E_IO_OUTPUT);/*设置端口GPA4为输出模式*/
        DrvGPIO_Open( E_GPA, 5, E_IO_OUTPUT);/*设置端口GPA5为输出模式*/
        DrvGPIO_Open( E_GPB, 15, E_IO_INPUT);/*设置端口GPB15为输入模式*/
        DrvGPIO_Open( E_GPB, 14, E_IO_INPUT);/*设置端口GPB14为输入模式*/
        DrvGPIO_Open( E_GPB, 10, E_IO_OUTPUT);/*设置端口GPB10为输出模式*/
        DrvGPIO_ClrBit( E_GPB, 10);                        /*禁止蜂鸣器工作*/

        DrvGPIO_EnableInt( E_GPB, 14, E_IO_FALLING, E_MODE_EDGE);        /*设置端口GPB14为外部中断模式*/
        DrvGPIO_SetDebounceTime(10, E_DBCLKSRC_10K);   
    DrvGPIO_EnableDebounce(E_GPB, 14);
        DrvGPIO_InitFunction( E_FUNC_EXTINT0);                 /*指定外部中断0引脚功能*/
        DrvGPIO_EnableEINT0( E_IO_FALLING, E_MODE_EDGE, EINT0CALLBACK);


        while(1)
        {
                if(DrvGPIO_GetBit( E_GPB, 15) == 0)
                {
                        DrvGPIO_ClrBit( E_GPA, 2);
                        DrvSYS_Delay(50000);
                        DrvGPIO_SetBit( E_GPA, 2);
                    DrvSYS_Delay(50000);
                        DrvGPIO_ClrBit( E_GPA, 3);
                        DrvSYS_Delay(50000);
                        DrvGPIO_SetBit( E_GPA, 3);
                        DrvSYS_Delay(50000);
                        DrvGPIO_ClrBit( E_GPA, 4);
                        DrvSYS_Delay(50000);
                        DrvGPIO_SetBit( E_GPA, 4);
                        DrvSYS_Delay(50000);
                        DrvGPIO_ClrBit( E_GPA, 5);
                        DrvSYS_Delay(50000);
                        DrvGPIO_SetBit( E_GPA, 5);
                        DrvSYS_Delay(50000);
                        DrvGPIO_ClrBit( E_GPB, 10);
                }
/*                else if(DrvGPIO_GetBit( E_GPB, 14) == 0)
                {
                        DrvGPIO_SetBit( E_GPB, 10);
                    DrvSYS_Delay(500000);
                        DrvGPIO_ClrBit( E_GPB, 10);
                        DrvSYS_Delay(50000);
                }
*/       
        }

}

The Second Project.rar

883.91 KB

相关帖子

沙发
kyzb001| | 2011-10-19 07:55 | 只看该作者
我还在地铁上呢,你可真速度

使用特权

评论回复
板凳
564451696|  楼主 | 2011-10-19 07:58 | 只看该作者
那可是俺昨晚放弃看CCTV而做出来的,在此我感谢党,感谢祖国,感谢CCTV!!!

使用特权

评论回复
地板
lixupengarm| | 2011-11-1 22:01 | 只看该作者
收下mark!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Stay hungry,stay foolish.

1

主题

157

帖子

0

粉丝