最近学习SPI协议,会遇到将1byte的数据分成8个bit在8个时钟周期依次发送出去的情况,对长数据放入短变量的存储方式进行了记录。
使用的MCU为STC12C5A60S2。因为显示条件有限,使用了P0口控制LED灯的方式。当控制引脚输出0时,发光二极管导通,反之,截止。
位变量用P0 ^ 2(P0口的第3个引脚)作为接受端,定义为:
sbit REC_BIT = P0 ^2;
测试:
unsigned char temp = 0x87;
REC_BIT = temp;
之后在while循环里观察REC_BIT的值,发现直接将temp的值赋给BIT时,只要temp的值不为0x00,则