[STM32F1] 贴一段代码,stm32cube工具

[复制链接]
1892|11
 楼主| 小小小小白 发表于 2015-9-5 22:18 | 显示全部楼层 |阅读模式
unsigned short SPI_Send_2_BYTE(unsigned short i, unsigned char CS)
{
    static unsigned int c = 0;
  __IO static unsigned short Temp;
static HAL_StatusTypeDef HAL_Status;
  /*!< Select the FLASH: Chip Select low */
  HAL_GPIO_WritePin(GPIOD, CS, GPIO_PIN_RESET);
  /*!< Send byte through the SPI1 peripheral */
  HAL_Status = HAL_SPI_TransmitReceive(&hspi1, (unsigned char*)&i,(unsigned char*)&Temp, 1, 1000);
        
HAL_Status = HAL_Status;
  Debug[(c++)%100] = Temp;
   
  /*!< Deselect the FLASH: Chip Select high */
  HAL_GPIO_WritePin(sFLASH_CS_GPIO_PORT, CS, GPIO_PIN_SET);
   
  /*!< Return the byte read from the SPI bus */
  return Temp;
}

这是spi部分。调用  HAL_Status = HAL_SPI_TransmitReceive(&hspi1, (unsigned char*)&i,(unsigned char*)&Temp, 1, 1000);
总是返回timeout,各位大大来帮忙看看。

 楼主| 小小小小白 发表于 2015-9-5 22:19 | 显示全部楼层
在线等
 楼主| 小小小小白 发表于 2015-9-5 22:19 | 显示全部楼层
spi配置应该也是对的。
mark0668 发表于 2015-9-5 22:41 | 显示全部楼层
Debug[(c++)%100] = Temp;


你返回的这个是什么的...
 楼主| 小小小小白 发表于 2015-9-5 22:50 | 显示全部楼层
mark0668 发表于 2015-9-5 22:41
Debug[(c++)%100] = Temp;

只是调试用的
 楼主| 小小小小白 发表于 2015-9-5 22:53 | 显示全部楼层
感觉只是个小问题
Xin飞扬 发表于 2015-9-6 21:38 | 显示全部楼层
毁灭2012 发表于 2015-9-7 07:22 来自手机 | 显示全部楼层
spi部分返回的timeout是什么东西啊?
android2 发表于 2015-9-7 09:29 | 显示全部楼层

spi配置的怎么样,注意时序啊
拉克丝 发表于 2015-9-7 19:18 | 显示全部楼层
HAL_Status = HAL_SPI_TransmitReceive(&hspi1, (unsigned char*)&i,(unsigned char*)&Temp, 1, 1000)
能解释一下吗
 楼主| 小小小小白 发表于 2015-9-10 22:01 | 显示全部楼层
android2 发表于 2015-9-7 09:29
spi配置的怎么样,注意时序啊

额。问题好像解决了。单步调试的时候,timeout应该是正常的
 楼主| 小小小小白 发表于 2015-9-10 22:02 | 显示全部楼层
拉克丝 发表于 2015-9-7 19:18
HAL_Status = HAL_SPI_TransmitReceive(&hspi1, (unsigned char*)&i,(unsigned char*)&Temp, 1, 1000)
能解 ...

传输数据啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

515

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部