#include <iom128v.h>
#include <macros.h>
#define uint unsigned int
#define uchar unsigned char
void led(uint led_no);
unsigned int key_press(void);
void main(void)
{
uint led_no;
DDRE|=BIT(2);
PORTE|=BIT(2);
DDRA=0xff;
while(1)
{
led(key_press());
}
}
unsigned int key_press(void)
{
uint xx=5;
return(xx);
}
void led(uint led_no)
{
switch(led_no)
{
case 0x00:
PORTA=0xff;
break;
case 0x01:
PORTA=0xfe;
break;
case 0x02:
PORTA=0xfd;
break;
case 0x03:
PORTA=0xfb;
break;
case 0x04:
PORTA=0xf7;
break;
case 0x05:
PORTA=0xef;
break;
case 0x06:
PORTA=0xdf;
break;
case 0x07:
PORTA=0xbf;
break;
case 0x08:
PORTA=0x7f;
break;
default:
break;
}
}
想通过key_press()返回一个值,用这个值控制led灯的亮灭。。可是后面发现key_press()根本不能返回,根本没有运行。。这个是用i编译器编译的。。
注:led()函数时可以调用的,就key_press不能调用。。。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |