本帖最后由 heart小十一 于 2022-8-8 14:50 编辑
void SPIWriteMultiByte(uint8_t *pBuf,uint16_t length)
{
uint16_t i;
uint8_t temp;
PIN_CS_L;
M0P_SPI0->SSN&=~(1<<0);
for(i=0;i<length;i++)
{
/*查询等待TXE发送缓冲器状态标志*/
while(M0P_SPI0->STAT&(1<<2)==0);
M0P_SPI0->DATA = *(pBuf+i);
/*查询等待RXNE发送缓冲器状态标志*/
while(M0P_SPI0->STAT&(1<<1)==0);
temp = M0P_SPI0->DATA;
}
/*查询等待TXE发送缓冲器状态标志*/
while(M0P_SPI0->STAT&(1<<2)==0);
/*查询等待busy总线状态标志 0-空闲 1-正在传输*/
while(M0P_SPI0->STAT&(1<<3)!=0);
M0P_SPI0->SSN|=(1<<0);
PIN_CS_H;
}
这么写有什么毛病吗?难
|