void main()
{
unsigned char dat = 0;
dat |= T8<<0;
dat |= T7<<1;
dat |= T6<<2;
dat |= T5<<3;
dat |= T4<<4;
dat |= T3<<5;
dat |= T2<<6;
dat |= T1<<7;
}
編譯的時候報錯,顯示‘<<’:bad operand type.
不知道為什么。
如果這個方案不可行,有沒有別的辦法,謝謝! 作者: 188610329 時間: 2021-11-16 22:18
T8 是一個位, 你讓 位去移位,往那里移?
其實,不該這么寫,但是考慮到你 T1~T8 的定位,可能是虛構(gòu)的,還是這么寫吧。
unsigned char Combi_Data();
{
unsigned char dat;
if(T1) dat |=1;
dat <<=1;
if(T2) dat |=1;
dat <<=1;
if(T3) dat |=1;
dat <<=1;
if(T4) dat |=1;
dat <<=1;
if(T5) dat |=1;
dat <<=1;
if(T6) dat |=1;
dat <<=1;
if(T7) dat |=1;
dat <<=1;
if(T8) dat |=1;
return dat;
}作者: wulin 時間: 2021-11-17 06:36
實際電路設(shè)計中盡可能避免這種無序、交叉使用端口,會給編程帶來麻煩,稍不仔細就會出錯