#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://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |