本帖最后由 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; 
} 
这么写有什么毛病吗?难 
 
 
 |