打印
[DemoCode下载]

【Smart-M051】基础实验一GPIO(流水灯)

[复制链接]
1402|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovecat2015|  楼主 | 2015-10-16 09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
硬件连接比较简单,只需将Nu-Link和M0转换板对应接口(VCC DAT CLK RST GND)用杜邦线连接,再连接PC-USB端口即可。平台搭建也跳过,直接上图;

just  code  it :
    /* 
     ------------------------------------------------------------
     *作    者:小AX
     *官    网:www.smartmcu.com
     *淘    宝:http://smartmcu.taobao.com/
     * Q  Q   :1771744839
     *功 能 描 述:通过软件延时函数实现LED灯实现顺流逆流等变化效果.
     ------------------------------------------------------------
     */  
    #include "SmartM_M0.h"  
      
    /****************************************
    *函数名称:main
    *输    入:无
    *输    出:无
    *功    能:函数主体
    ******************************************/  
      
    INT32 main(VOID)  
    {  
         UINT32 i;  
         UINT32 rand();  
         PROTECT_REG  
         (  
             PWRCON |= XTL12M_EN;  
             //默认时钟源为外部晶振,PWRCON为系统掉电控制寄存器  
             while((CLKSTATUS & XTL12M_STB) == 0);  
             //等待12MHz时钟稳定(CLKSTATUS时钟状态监控寄存器)        
             CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;   
             //设置外部晶振为系统时钟(CLKSEL0 时钟源选择控制寄存器0)  
               
             P2_PMD=0x5555;                             //GPIO设置为输出模式  
         )  
      
         while(1)  
         {   
             for(i=0; i<8; i++)  
               {  
                   P2_DOUT = ~(1UL<<i);                  //移位操作,顺流  
      
                   Delayms(100);  
                                                       //延时100ms  
               }  
                                                      
              for(i=1; i<8; i++)  
               {  
                   P2_DOUT = ~(128UL>>i);            //移位操作,逆流  
      
                   Delayms(100);  
                                                       //延时100ms  
               }   
                    
              for(i=0;i<4;i++)  
               {  
                   P2_DOUT = ~((8UL>>i)|(16UL<<i));    //移位操作,中间望向两端跑  
      
                   Delayms(100);  
                                                       //延时100ms  
               }   
      
              for(i=0;i<4;i++)  
               {  
                   P2_DOUT = ~((64UL>>i)|(2UL<<i));    //移位操作,两端向中间跑  
      
                   Delayms(100);  
                                                       //延时100ms  
               }     
                     
                   P2_DOUT=0xff;  
                   Delayms(1000);                      //全体灭灯  
                                                       //延时1000ms  
                  
              for(i=0; i<24; i++)  
               {  
                   P2_DOUT = rand();                   //移位操作,随机闪烁  
      
                   Delayms(100);                        
               }                                       //延时100ms  
                  
         }  
    }  


沙发
734774645| | 2015-10-18 00:28 | 只看该作者
刚才翻东西,找到了我的那个板子,来论坛下载资料,刚好遇到你发的这个

使用特权

评论回复
板凳
598330983| | 2015-10-18 08:04 | 只看该作者
头文件全集有没有,不知这驱东函数内容啊

使用特权

评论回复
地板
mintspring| | 2015-10-18 11:03 | 只看该作者
赤裸裸的广告贴。代码确实很犀利。

使用特权

评论回复
5
稳稳の幸福| | 2015-10-18 12:07 | 只看该作者
楼主什么牌子的笔记本,都烂成这个样了,还能用的很嗨皮。

使用特权

评论回复
6
wahahaheihei| | 2015-10-18 13:40 | 只看该作者
白色的板子是转接板吗?让封装转成DIP封装的?

使用特权

评论回复
7
598330983| | 2015-10-18 16:01 | 只看该作者
rand()函数是怎么写的,在哪个头文件里?

使用特权

评论回复
8
小猫爱吃鱼| | 2015-10-18 20:59 | 只看该作者
我有一个M056的板子,看看你这代码能否用的上

使用特权

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

本版积分规则

80

主题

816

帖子

0

粉丝