您好,您所遇到的困惑我当年也遇到过,同感!
其实是这样的:
1.这段代码写的不太标准,标准写法是: Max7219_pinDIN=(bit)DATA&0x80; 这里 “(bit)”是关键。
2, 您有一个数据类型转换惯性误区,认为16位无符号UINT变量,在向8位无符号UCHAR类型变量赋值时,只能保留16位中的低8位; 由此您也得出 8位无符号变量在向1位bit类型变量传送时只能保留最低位!
但这是有个例外的: 8位uchar 转变成 bit 类型时 保留的是 : 最高位 !!!
————————知道这个规则后,例程中这段代码就可轻易理解了,这种类型代码您以后会经常遇到。 |