从SPI_FLASH里面读取数据,通过串口发送的数据问题。

2019-07-20 21:58发布

因为SPI_FLASH是8位的数据格式,然后串口的发送函数要求入口参数数据是16位的。显示格式不一致的问题,这怎么解决?

串口发送函数:
             uint16_t USART_ReceiveData(USART_TypeDef* USARTx)                                    
{
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));

  /* Receive Data */
  return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);
}  




SPI_FLASH读取函数:
         void W25X80_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead)   
{
        u16 i;                                                                                       
        W25X80_CS=0;                          
    SPI2_ReadWriteByte(W25X_ReadData);      
    SPI2_ReadWriteByte((u8)((ReadAddr)>>16));  
    SPI2_ReadWriteByte((u8)((ReadAddr)>>8));   
    SPI2_ReadWriteByte((u8)ReadAddr);   
    for(i=0;i<NumByteToRead;i++)
        {
        pBuffer=SPI2_ReadWriteByte(0XFF);  
    }
        W25X80_CS=1;                                                   
}  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
xsx127
1楼-- · 2019-07-21 00:11
串口发送接收的都是8位啊,虽然寄存器是16位的
zhoujianwen
2楼-- · 2019-07-21 02:49
 精彩回答 2  元偷偷看……

一周热门 更多>