| 不用时正常 程序如下写的时候
 ...
 #define RX_DR state^6     //接收判断位,如果接收到数据,RX_DR为1
 ...
 state=SPI_read(STATUS);
 if(RX_DR)
 {
 ...
 }
 每一次到if判断,必进if函数体。
 但如果改成if(state&0x40) 则正常运行。
 
 为了验证,我试着把这个位的值用12864写出来
 write_dat(0x30+RX_DR);   //   +0x30是转换成ASCII码
 结果显示 8.
 想问我那样不是将RX_DR定义成bit这类型了么,怎么会变成char类型的了?这里面哪个问题我没注意到?
 |