资源简介

实现呼吸灯效果,即全亮到全灭亮度逐渐变化过程,并循环,可在IAR上运行,直接打开即可运行day2.ewp文件就可以运行,附有代码解释

资源截图

代码片段和文件信息

#include “smartrfeb.h“
#include “iocc2430.h“
#include “string.h“
#include “hal.h“
#include “smartrfeb.h“
#define RECEIVE_TIMEOUT    2000 //接收超时2000毫秒

void initClock(void)
{
   SLEEP &= 0xfb;    //1111 1011启动片内16MHz RC振荡器,启动片外32MHz 晶体振荡器            
   while(!(SLEEP & 0x40));      //判断外部32MHz晶体振荡器是否启动并稳定                    
   CLKCON &=  0xb8; // 10111000;   选择32MHz的外部晶振作为系统时钟           
   SLEEP |= 0x04;    //0000 0100 ;关闭不用的片内16MHz RC振荡器
}

/****************************************************************
*函数功能 :串口发送字符串函数
*入口参数 : p:指向要发送的字符串以‘\0‘结束
*返 回 值 :无
*说    明 :
****************************************************************/
void UartTX_Send_String(char *p)
{
   while(*p != 0) {
U0DBUF = *p;
while(UTX0IF == 0);
UTX0IF = 0;
p++;
   }
}

void Delay(UINT16 n)
{
UINT16 tt;
for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt}

                          void main()
{       int i=0;
              char data;
              char str[50]={0};
              char *p;
  
               BYTE sel=0;
int x=1;
                int cycle=500;
INIT_LED_PORT();
while(1&&URX0IF==0)
{
x=1;
while(1)
{
switch(sel)
{
case 0:
SET_LED1();
SET_LED2();
SET_LED3();
SET_LED4();
sel=1;
Delay(x);
break;
case 1:
CLR_LED1();
CLR_LED2();
CLR_LED3();
CLR_LED4();
sel=0;
Delay(cycle-x);
break;

}
x=x+1;
if(x==cycle)
break;
}
while(1)
{
x=x-1;
switch(sel)
{
case 0:
SET_LED1();
SET_LED2();
SET_LED3();
SET_LED4();
sel=1;
Delay(x);
break;
case 1:
CLR_LED1();
CLR_LED2();
CLR_LED3();
CLR_LED4();
sel=0;
Delay(cycle-x);
break;
}
if(x==1)
break;
}
}

i=0;
while(1)
{
while(URX0IF == 0);
URX0IF = 0;
data = U0DBUF;
if(data == ‘\r‘) 
{ //请补充*****遇到回车符时,退出接收模式
p[i++]=‘\0‘;
break;

else 
{ //请补充*****否则将字符存入数组str
p[i++] = data;
U0DBUF = data;        //并将串口的输入反馈输出给串口
while(UTX0IF == 0);
UTX0IF = 0; 
}
}
                if(strcmp(str“0“) == 0)
{
UartTX_Send_String(“\r\n退出呼吸灯程序“); 
CLR_LED1();
CLR_LED2();
CLR_LED3();
CLR_LED4();
sel=0;
                }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-08 09:04  day2\
     目录           0  2019-01-08 10:03  day2\Day2dac\
     目录           0  2019-01-08 10:03  day2\Day2dac\Debug\
     目录           0  2019-01-08 10:03  day2\Day2dac\Debug\Exe\
     文件       12523  2019-01-08 10:01  day2\Day2dac\Debug\Exe\day2.d51
     目录           0  2019-01-08 12:21  day2\Day2dac\Debug\List\
     目录           0  2019-01-08 10:03  day2\Day2dac\Debug\Obj\
     文件         136  2019-01-08 10:02  day2\Day2dac\Debug\Obj\day2.pbd
     文件         630  2019-01-08 10:02  day2\Day2dac\Debug\Obj\huxideng.pbi
     文件       14163  2019-01-08 10:01  day2\Day2dac\Debug\Obj\huxideng.r51
     文件        2160  2019-01-08 10:01  day2\Day2dac\day2.dep
     文件       26238  2019-01-08 09:19  day2\Day2dac\day2.ewd
     文件       54083  2019-01-08 09:00  day2\Day2dac\day2.ewp
     文件         158  2019-01-08 08:07  day2\Day2dac\day2.eww
     文件       73384  2019-01-08 08:33  day2\Day2dac\hal.h
     文件        2663  2019-01-08 10:02  day2\Day2dac\huxideng.c
     文件       39982  2019-01-08 08:35  day2\Day2dac\iocc2430.h
     目录           0  2019-01-08 10:03  day2\Day2dac\settings\
     文件        2623  2019-01-08 10:01  day2\Day2dac\settings\day2.cspy.bat
     文件        6697  2019-01-08 09:13  day2\Day2dac\settings\day2.dbgdt
     文件         572  2019-01-08 10:01  day2\Day2dac\settings\day2.dni
     文件        4109  2019-01-08 10:01  day2\Day2dac\settings\day2.wsdt
     文件        7414  2019-01-08 08:34  day2\Day2dac\smartrfeb.h
     文件        2254  2019-01-08 08:36  day2\Day2dac\string.h
     文件        1827  2019-01-08 09:13  day2\Day2dac\sysmac.h

评论

共有 条评论