您好,您所遇到的困惑我當年也遇到過,同感!
其實是這樣的:
1.這段代碼寫的不太標準,標準寫法是: Max7219_pinDIN=(bit)DATA&0x80; 這里 “(bit)”是關鍵。
2, 您有一個數據類型轉換慣性誤區,認為16位無符號UINT變量,在向8位無符號UCHAR類型變量賦值時,只能保留16位中的低8位; 由此您也得出 8位無符號變量在向1位bit類型變量傳送時只能保留最低位!
但這是有個例外的: 8位uchar 轉變成 bit 類型時 保留的是 : 最高位 !!!
————————知道這個規則后,例程中這段代碼就可輕易理解了,這種類型代碼您以后會經常遇到。 |