打印
[DemoCode下载]

官方的ML51的IO输入输出演示坑爹啊,给大家提醒一下

[复制链接]
486|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小灵通2018|  楼主 | 2020-7-19 21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
顺便分享一下我修改后的代码,适合官方的开发板
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* 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_P23_GPIO;
      P23_INPUT_MODE;
//                        ENABLE_P23_PULLUP;
                        ENABLE_P23_PULLDOWN;       
      MFP_P03_GPIO;
      P03_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)
    {

      while (P2&SET_BIT3); // P23 = 1;
      while (!(P2&SET_BIT3)); // P23 = 0;
                        P03 ^=1;

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


使用特权

评论回复
沙发
小灵通2018|  楼主 | 2020-7-19 21:02 | 只看该作者
原本的那两个while判断按键的地方是错的,大家看清楚了,第一个,判断的while,一定要修改啊,不知道哪个坑货做的例子。

使用特权

评论回复
板凳
小灵通2018|  楼主 | 2020-7-19 21:03 | 只看该作者
目前测试,用导线去触摸按键引脚都能引起变化,不知道为何。。。。我这个没有加防抖程序,可能是因为这个,也可能是导线有静电引入吧,导致瞬间有电平变化。

使用特权

评论回复
地板
小灵通2018|  楼主 | 2020-7-19 21:04 | 只看该作者
也有可能是速度太快,瞬间的导线引入导致电荷流动,引起的,可能是高速单片机的特点,所以一定要考虑到这些。

使用特权

评论回复
5
jiekou001| | 2020-7-19 21:31 | 只看该作者
例子和库函数估计不是一个人写的,写例子这个货,根本没理解人家的库函数干啥的。

使用特权

评论回复
6
xinpian101| | 2020-7-19 22:56 | 只看该作者
呵呵,习惯就好了,

使用特权

评论回复
7
稳稳の幸福| | 2020-7-19 23:25 | 只看该作者
O(∩_∩)O哈哈~,是这样

使用特权

评论回复
8
gejigeji521| | 2020-7-20 21:23 | 只看该作者
哈哈,不知道为何官方还不更新下一个版本

使用特权

评论回复
9
小明的同学| | 2020-7-20 23:53 | 只看该作者
哈哈,搞定就行了。

使用特权

评论回复
10
xinxianshi| | 2020-7-21 11:26 | 只看该作者
昂,那个问题确实太明显

使用特权

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

本版积分规则

117

主题

1444

帖子

4

粉丝