如果我们要把240bit的数据通过模拟SPI口传送出去, 一般的我们定义一数组, 把240bit的数据放在30个byte里, 然后, 通过
tempi=nodeConfig[ByteCnt]; for(BitCnt=0;BitCnt!=8;BitCnt++) { PORTA&=0xFD; //1111 1101, CLK=0 if(tempi&0x80) //1000 0000 PORTA|=0x04; //0000 0100, data(configuration word) output=1; PA2 else PORTA&=0xFB; //1111 1011, data(configuration word) output=0; PA2 delay_1us(); PORTA|=0x02; //0000 0010, CLK=1 delay_1us(); PORTA&=0xFD; //CLK=0 tempi=tempi<<1; }
之类的代码传输给外设.
但是, 我们的编程中需要对这240个bit频繁的操作, 最好定义成结构体, 但是, 结构体就不能用上面的方法模拟SPI口了, 因为结构体中有1byte的有1bit的有2byte的, 所以....
不知各位对此有何高见
谢谢指点先. |