打印
[DemoCode下载]

新唐M051外部中断1使用程序

[复制链接]
1159|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
quray1985|  楼主 | 2015-8-13 11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "SmartM_M0.h"
#define DEBUGMSG       printf
/****************************************
*函数名称:KeyIntInit
*输    入:无
*输    出:无
*功    能:按键中断初始化
******************************************/
VOID KeyIntInit(VOID)
{
    P3_PMD=0xFFFF;        //准双向模式
P3_DOUT=0xFF;        //输出高电平
P3_MFP = (P3_MFP & (~P33_EINT1_MCLK)) | EINT1;  //P3.2引脚设置为外部中断

DBNCECON &= ~ICLK_ON;  //禁用时钟?
DBNCECON &= DBCLK_HCLK;//防反弹计数器时钟源为 HCLK
DBNCECON |= SMP_256CK;        //设置防反弹采样周期选择
            
P3_DBEN |= DBEN3;         //使能P3.2防反弹功能
  
P3_IMD &= IMD3_EDG;   
P3_IEN |= IF_EN3;         //设置外部中断0为下降沿触发
NVIC_ISER |= EXT_INT1;
}
/****************************************
*函数名称:main
*输    入:无
*输    出:无
*功    能:函数主体
******************************************/
INT32 main(VOID)
{                        
  PROTECT_REG          //ISP下载时保护FLASH存储器
  (
   PWRCON |= XTL12M_EN;       //默认时钟源为外部晶振
   while((CLKSTATUS & XTL12M_STB) == 0);    //等待12MHz时钟稳定
  
   CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;//设置外部晶振为系统时钟
  )
  UartInit(12000000,9600);       //波特率设置为9600bps
  KeyIntInit();          //按键中断初始化
  DEBUGMSG("Init ok\r\b");
  while(1);
}
/****************************************
*函数名称:__KEYISR
*输    入:无
*输    出:无
*功    能:按键中断服务函数
******************************************/
VOID EINT1_IRQHandler(VOID)
{
  DEBUGMSG("Key int\r\n");       //打印按键中断信息
  P3_ISRC = P3_ISRC;                        //写1清空
}      


沙发
598330983| | 2015-8-13 12:03 | 只看该作者
CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;//设置外部晶振为系统时钟
这个应该有库函数操作的方式吧

使用特权

评论回复
板凳
734774645| | 2015-8-13 18:57 | 只看该作者
UartInit(12000000,9600);       //波特率设置为9600bps
这句可以采用宏头文件进行优化,增加可移植性。

使用特权

评论回复
地板
lovecat2015| | 2015-8-14 08:56 | 只看该作者
能够使用内部或者外部的晶振
用库函数操作吗

使用特权

评论回复
5
稳稳の幸福| | 2015-8-20 10:22 | 只看该作者
使用库函数也是可以的,以前我就是使用库函数,但是,要先理解原理。

使用特权

评论回复
6
mintspring| | 2015-8-20 16:25 | 只看该作者
配置波特率什么的最好用宏来搞,比较好读

使用特权

评论回复
7
玛尼玛尼哄| | 2015-8-20 16:26 | 只看该作者
最好把配置放个头文件,然后包含进来就行了。

使用特权

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

本版积分规则

156

主题

1488

帖子

5

粉丝