[新手园地] 【第三批】学习笔记2:按键中断与采集

[复制链接]
 楼主| 564451696 发表于 2011-10-19 07:46 | 显示全部楼层 |阅读模式
如题:有code有真相!!!
  1. /*********************************************************************************************
  2. *                    菜农新唐M0助学交流(Q群:12047788)
  3. * 模块名称:按键中断及蜂鸣器操作
  4. * 创建时间:2011-10-18
  5. * 所属公司 : 火星菜农集团
  6. * 文件名称:         Main.c
  7. * 作者 :  周炳权
  8. * 功能描述:        按KEY1进入中断驱动蜂鸣器;按KEY2进入流水灯,关蜂鸣器。
  9. *----------------------------------------------------------------
  10. 修改记录:

  11. 修改日期:

  12. 修改人:

  13. **********************************************************************************************************/
  14. #include <stdio.h>
  15. #include "NUC1xx.h"
  16. #include "DrvGPIO.h"
  17. #include "DrvSYS.h"
  18. /********************************************************************
  19. *@作者:周炳权
  20. *@功能:外部中断0回调函数
  21. *
  22. *@输入:          NONE
  23. *@输出:        NONE
  24. ********************************************************************/
  25. void EINT0CALLBACK( void )
  26. {
  27.         DrvGPIO_SetBit( E_GPB, 10);       

  28. }

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

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

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


  48.         while(1)
  49.         {
  50.                 if(DrvGPIO_GetBit( E_GPB, 15) == 0)
  51.                 {
  52.                         DrvGPIO_ClrBit( E_GPA, 2);
  53.                         DrvSYS_Delay(50000);
  54.                         DrvGPIO_SetBit( E_GPA, 2);
  55.                     DrvSYS_Delay(50000);
  56.                         DrvGPIO_ClrBit( E_GPA, 3);
  57.                         DrvSYS_Delay(50000);
  58.                         DrvGPIO_SetBit( E_GPA, 3);
  59.                         DrvSYS_Delay(50000);
  60.                         DrvGPIO_ClrBit( E_GPA, 4);
  61.                         DrvSYS_Delay(50000);
  62.                         DrvGPIO_SetBit( E_GPA, 4);
  63.                         DrvSYS_Delay(50000);
  64.                         DrvGPIO_ClrBit( E_GPA, 5);
  65.                         DrvSYS_Delay(50000);
  66.                         DrvGPIO_SetBit( E_GPA, 5);
  67.                         DrvSYS_Delay(50000);
  68.                         DrvGPIO_ClrBit( E_GPB, 10);
  69.                 }
  70. /*                else if(DrvGPIO_GetBit( E_GPB, 14) == 0)
  71.                 {
  72.                         DrvGPIO_SetBit( E_GPB, 10);
  73.                     DrvSYS_Delay(500000);
  74.                         DrvGPIO_ClrBit( E_GPB, 10);
  75.                         DrvSYS_Delay(50000);
  76.                 }
  77. */       
  78.         }

  79. }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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

粉丝
快速回复 在线客服 返回列表 返回顶部