硬件连接比较简单,只需将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
}
}
|