#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()返回一個(gè)值,用這個(gè)值控制led燈的亮滅。。可是后面發(fā)現(xiàn)key_press()根本不能返回,根本沒有運(yùn)行。。這個(gè)是用i編譯器編譯的。。
注:led()函數(shù)時(shí)可以調(diào)用的,就key_press不能調(diào)用。。。
|