SPI全双工模式实际测试有数据但是采集不到

2019-07-14 15:45发布

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,GPIO_PIN_RESET );片选0

HAL_SPI_Transmit(&hspi1,&liming,sizeof(liming),1000);发送数据

HAL_SPI_Receive(&hspi1,lmGET_data,sizeof(lmGET_data),1000);接收数据

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,GPIO_PIN_SET );片选1


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
yagan1405
2019-07-16 10:40
xiuyuan56789 发表于 2018-11-26 09:42
贴上代码来看看

本帖最后由 木子-387117 于 2017-2-21 16:47 编辑
两种方式调用HAL库函数  单独测试过
uint8_t liming=0x06;地址
uint8_t liming2=0x00;
uint8_t lmGET_data;  返回数据存放
        while(1){
               
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,GPIO_PIN_RESET );
          HAL_SPI_Transmit(&hspi1,&liming2,sizeof(liming2),1000);        
          HAL_SPI_Receive(&hspi1,&lmGET_data,sizeof(lmGET_data),1000);
                HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,GPIO_PIN_SET );
               
if(lmGET_data==0x6c)
printf(" LoRaOn ");        

   HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,GPIO_PIN_RESET );
       HAL_SPI_Transmit(&hspi1,&liming,sizeof(liming),1000);
       HAL_SPI_TransmitReceive(&hspi1, &liming2, &lmGET_data, 1, 1000);
   HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,GPIO_PIN_SET );
if(lmGET_data==0x6c)
printf(" LoRaOn ");        
}

一周热门 更多>