#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不能调用。。。
|