打印
[DemoCode下载]

ML51的GPIO中断

[复制链接]
855|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuanhuanzi|  楼主 | 2019-1-4 18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: ML51 pin interrupt demo code
//***********************************************************************************************************

#include "ML51.h"

/**
* [url=home.php?mod=space&uid=247401]@brief[/url]       Port0~5 Interrupt Subroutine
* @param       None
* [url=home.php?mod=space&uid=266161]@return[/url]      None
* [url=home.php?mod=space&uid=1543424]@Details[/url]     PIF 0~7 declair in GPIO_EnableInt interrupt.
*/
void PinInterrupt_ISR (void) interrupt 7
{
    if ((PIF&SET_BIT0)==SET_BIT0)
    {
      PIF&=CLR_BIT0;
      P30 = ~P30;
      printf ("\n PIT0 INT");
    }
    else if ((PIF&SET_BIT3)==SET_BIT3)
    {
      PIF&=CLR_BIT3;
      P30 = ~P30;
      printf ("\n PIT3 INT");
    }
}


void main (void)
{                             
/* Setting Multi function pin setting for GPIO toggle
   * include gipo.c in Library for GPIO mode setting
*/
    MFP_P30_GPIO;
    P30_PUSHPULL_MODE;                            /* set P1.2 as PushPull output mode */
  /*
For UART0 P3.1 as TXD output setting use VCOM function.
* include uart.c in Library Setting for UART0
*/
    MFP_P31_UART0_TXD;                            /* UART0 TXD use P31 */
    P31_QUASI_MODE;                               /* set P3.1 Quasi mode for UART0 trasnfer */
    UART_Open(24000000,UART0_Timer1,115200);      /* Open UART0 use timer1 as baudrate generate and baud rate = 115200 */
    ENABLE_UART0_PRINTF;                                   /* to use printf function, need set TI first. */

/* Setting Pin interrupt initial
   * include pinint.c in Library for GPIO mode setting
*/
    MFP_P25_GPIO;
    P25_INPUT_MODE;                               /* set P2.5 as input output mode */
    GPIO_Pull_Enable(Port2,SET_BIT5,PullUp);
    GPIO_EnableInt(PIT0,FALLING,EDGE,2,5);         /* Setting pin intterrupt channel 0 as P2.5 falling edge trigger. */
    MFP_P32_GPIO;
    P32_INPUT_MODE;                               /* set P3.2 as input output mode */
    GPIO_Pull_Enable(Port3,SET_BIT2,PullDown);
    GPIO_EnableInt(PIT3,RISING,EDGE,3,2);          /* Setting pin intterrupt channel 3 as P3.2 rising edge trigger. */
    ENABLE_GLOBAL_INTERRUPT;

    while(1);
}





沙发
huangcunxiake| | 2019-1-7 10:44 | 只看该作者
跟003的差不多啊。看来兼容代码。

使用特权

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

本版积分规则

173

主题

2211

帖子

3

粉丝