用SPI对一器件做读写操作,过程如下:<br />#define SPI0_CS = (1<<24)<br /> PINSEL0 = 0x00005500; // 设置SPI管脚连接<br /> PINSEL1 = 0x00000000;<br /><br /> IO1DIR = SPI0_CS;<br /> IO1SET = SPI0_CS;<br /> S0PCCR = 0x52; // 设置SPI时钟分频, 初始化SPI接口<br /> S0PCR=0x38;//下降沿发送,上升沿接收<br /><br />void SPI0_WR8(uint8 Addr,uint8 Dta)<br />{<br /> IO1CLR=SPI0_CS;<br /> S0PDR = Addr|0x80;<br /> while( 0==(S0PSR&0x80) );<br /> S0PDR = Dta;<br /> while( 0==(S0PSR&0x80) );<br /> IO1SET|=SPI0_CS;<br />}<br />uint8 SPI0_RD8(uint8 Addr)<br />{<br /> uint8 u8temp;<br /> <br /> IO1CLR=SPI0_CS;<br /> S0PDR = Addr;<br /> while( 0==(S0PSR&0x80) );<br /> DelayNS(1);<br /> S0PDR = 0xff;<br /> while( 0==(S0PSR&0x80) );<br /> u8temp=S0PDR;<br /> IO1SET|=SPI0_CS;<br /> return (u8temp);<br />}<br /><br />我先向器件的可读写寄存器中写入数据后再读怎么读不出来?<br /> |
|