[DemoCode下载] 【Smart-M051】基础实验一GPIO(流水灯)

[复制链接]
 楼主| lovecat2015 发表于 2015-10-16 09:11 | 显示全部楼层 |阅读模式
硬件连接比较简单,只需将Nu-Link和M0转换板对应接口(VCC DAT CLK RST GND)用杜邦线连接,再连接PC-USB端口即可。平台搭建也跳过,直接上图;

just  code  it :
  1.     /*
  2.      ------------------------------------------------------------
  3.      *作    者:小AX
  4.      *官    网:www.smartmcu.com
  5.      *淘    宝:http://smartmcu.taobao.com/
  6.      * Q  Q   :1771744839
  7.      *功 能 描 述:通过软件延时函数实现LED灯实现顺流逆流等变化效果.
  8.      ------------------------------------------------------------
  9.      */  
  10.     #include "SmartM_M0.h"  
  11.       
  12.     /****************************************
  13.     *函数名称:main
  14.     *输    入:无
  15.     *输    出:无
  16.     *功    能:函数主体
  17.     ******************************************/  
  18.       
  19.     INT32 main(VOID)  
  20.     {  
  21.          UINT32 i;  
  22.          UINT32 rand();  
  23.          PROTECT_REG  
  24.          (  
  25.              PWRCON |= XTL12M_EN;  
  26.              //默认时钟源为外部晶振,PWRCON为系统掉电控制寄存器  
  27.              while((CLKSTATUS & XTL12M_STB) == 0);  
  28.              //等待12MHz时钟稳定(CLKSTATUS时钟状态监控寄存器)        
  29.              CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;   
  30.              //设置外部晶振为系统时钟(CLKSEL0 时钟源选择控制寄存器0)  
  31.                
  32.              P2_PMD=0x5555;                             //GPIO设置为输出模式  
  33.          )  
  34.       
  35.          while(1)  
  36.          {   
  37.              for(i=0; i<8; i++)  
  38.                {  
  39.                    P2_DOUT = ~(1UL<<i);                  //移位操作,顺流  
  40.       
  41.                    Delayms(100);  
  42.                                                        //延时100ms  
  43.                }  
  44.                                                       
  45.               for(i=1; i<8; i++)  
  46.                {  
  47.                    P2_DOUT = ~(128UL>>i);            //移位操作,逆流  
  48.       
  49.                    Delayms(100);  
  50.                                                        //延时100ms  
  51.                }   
  52.                     
  53.               for(i=0;i<4;i++)  
  54.                {  
  55.                    P2_DOUT = ~((8UL>>i)|(16UL<<i));    //移位操作,中间望向两端跑  
  56.       
  57.                    Delayms(100);  
  58.                                                        //延时100ms  
  59.                }   
  60.       
  61.               for(i=0;i<4;i++)  
  62.                {  
  63.                    P2_DOUT = ~((64UL>>i)|(2UL<<i));    //移位操作,两端向中间跑  
  64.       
  65.                    Delayms(100);  
  66.                                                        //延时100ms  
  67.                }     
  68.                      
  69.                    P2_DOUT=0xff;  
  70.                    Delayms(1000);                      //全体灭灯  
  71.                                                        //延时1000ms  
  72.                   
  73.               for(i=0; i<24; i++)  
  74.                {  
  75.                    P2_DOUT = rand();                   //移位操作,随机闪烁  
  76.       
  77.                    Delayms(100);                        
  78.                }                                       //延时100ms  
  79.                   
  80.          }  
  81.     }  


734774645 发表于 2015-10-18 00:28 来自手机 | 显示全部楼层
刚才翻东西,找到了我的那个板子,来论坛下载资料,刚好遇到你发的这个
598330983 发表于 2015-10-18 08:04 来自手机 | 显示全部楼层
头文件全集有没有,不知这驱东函数内容啊
mintspring 发表于 2015-10-18 11:03 | 显示全部楼层
赤裸裸的广告贴。代码确实很犀利。
稳稳の幸福 发表于 2015-10-18 12:07 | 显示全部楼层
楼主什么牌子的笔记本,都烂成这个样了,还能用的很嗨皮。
wahahaheihei 发表于 2015-10-18 13:40 | 显示全部楼层
白色的板子是转接板吗?让封装转成DIP封装的?
598330983 发表于 2015-10-18 16:01 | 显示全部楼层
rand()函数是怎么写的,在哪个头文件里?
小猫爱吃鱼 发表于 2015-10-18 20:59 | 显示全部楼层
我有一个M056的板子,看看你这代码能否用的上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

816

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

80

主题

816

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部