[DemoCode下载]

ML51的GPIO基本操作

[复制链接]
2574|10
手机看帖
扫描二维码
随时随地手机跟帖
天灵灵地灵灵|  楼主 | 2019-1-4 11:58 | 显示全部楼层 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

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

//***********************************************************************************************************
//  File Function: ML51 simple GPIO toggle out demo code
//***********************************************************************************************************

#include "ML51.h"

/**
* [url=home.php?mod=space&uid=247401]@brief[/url]       GPIO input output demo
* @param       None
* [url=home.php?mod=space&uid=266161]@return[/url]      None
* [url=home.php?mod=space&uid=1543424]@Details[/url]     GPIO toggle and UART0 TXD0 send out.
*/
void main (void)
{

      MFP_P46_GPIO;
      P31_PUSHPULL_MODE;
      MFP_P50_GPIO;
      P50_PUSHPULL_MODE;
      MFP_P51_GPIO;
      P51_PUSHPULL_MODE;

/*
For UART0 P3.1 as TXD output setting
* include uart.c in Common Setting for UART0
*/
    MFP_P31_UART0_TXD;                              // UART0 TXD use P1.6
    P31_QUASI_MODE;                                  // set P1.6 as Quasi mode for UART0 trasnfer
    UART_Open(24000000,UART0_Timer1,115200);        // Open UART0 use timer1 as baudrate generate and baud rate = 115200

    while(1)
    {
      SFRS = 0;
      P46 ^= 1;
      while (P5|CLR_BIT6); // P56 = 1;
      while (!(P5&SET_BIT6)); // P56 = 0;

/* include timer.c for delay setting */
      Timer2_Delay(24000000,128,100,1000);
      UART_Send_Data(UART0,0x55);  
    }
  
}


天灵灵地灵灵|  楼主 | 2019-1-4 11:59 | 显示全部楼层
GPIO 掉电演示

/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

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

//***********************************************************************************************************
//  File Function: ML51 simple GPIO toggle out demo code
//***********************************************************************************************************

#include "ML51.h"

void PinInterrupt_ISR (void) interrupt 7
{
    PIF = 0;
}

/**
* @brief       Port0~5 Interrupt Subroutine
* @param       None
* @return      None
* @details     GPIO P13 toggle out and UART0 TXD0 send out.
*/

void main (void)
{
   unsigned char ct;
/* Setting Multi function pin setting for GPIO toggle
   * include gipo.c in Common for GPIO mode setting
*/
    ALL_GPIO_QUASI_MODE;
    P0 = 0xFF;
    P1 = 0xFF;
    P2 = 0xFF;
    P3 = 0xFF;
    P4 = 0xFF;
    P5 = 0xFF;
    MFP_P17_GPIO;
    DISABLE_BOD;
  
    SFRS=0;
    for(ct=0;ct<0x05;ct++)
    {
        P31 = 0;
        _delay_();
        P31 = 1;
        _delay_();
    }
     P31 = 0;
    set_PCON_PD;
    while(1);

}


使用特权

评论回复
捉虫天师| | 2019-1-7 14:09 | 显示全部楼层
每个定时器的都给出了延时函数了吗

使用特权

评论回复
幸福小强| | 2019-1-7 18:40 | 显示全部楼层
发现高级的用法就是判断时候使用逻辑操作。

使用特权

评论回复
zhuotuzi| | 2019-1-7 23:04 | 显示全部楼层
新唐大部分的ARM系列,IO操作是一致兼容的。

使用特权

评论回复
chineseboyzxy| | 2019-1-24 11:10 | 显示全部楼层
ML51TC0AE的GPIO,在强推挽和开漏模式下的灌电流允许多大?

使用特权

评论回复
捉虫天师| | 2019-1-28 22:51 | 显示全部楼层
数据手册应该有端口的电流电压参数。

使用特权

评论回复
wanduzi| | 2019-1-29 20:29 | 显示全部楼层
多多练习。

使用特权

评论回复
Harvard| | 2019-1-29 23:16 | 显示全部楼层
什么地方可以买到ml51的板子啊

使用特权

评论回复
天灵灵地灵灵|  楼主 | 2019-2-23 18:50 | 显示全部楼层
ML系列会火。

使用特权

评论回复
天灵灵地灵灵|  楼主 | 2019-2-23 18:50 | 显示全部楼层
大家可以试试,使用51就实现低功耗,只有新唐。

使用特权

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

本版积分规则

159

主题

3286

帖子

13

粉丝