// 下面這個單片機c語言掃描函數: char ls() { uchar i,k; cl=0; delay(); shift=0; delay(); shift=1; delay(); k=(k<<1)|q; for(i=0;i<7;i++) { cl=1; delay(); k=(k<<1)|q; cl=0; delay(); } return k; }
函數中有個變量q,定義位sbit q=P1^0;當變量q變化時才能得出函數返回值k,這樣的話變量q是不能作為函數參數的是嗎? 要用到4個2×8鍵盤掃描,所以我想把q作為變量,可我實驗做過不行,總結出這樣一個結論不知道對不,問下大家 這樣我要編4個ls()函數,中間我用了個函數用switch選擇把4個2×8掃描程序得出的K值再賦值給一個函數值,后面掃描程序就可以只用一個函數了 |