打印
[STM32F1]

贴一段代码,stm32cube工具

[复制链接]
1587|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;


你返回的这个是什么的...

使用特权

评论回复
5
小小小小白|  楼主 | 2015-9-5 22:50 | 只看该作者
mark0668 发表于 2015-9-5 22:41
Debug[(c++)%100] = Temp;

只是调试用的

使用特权

评论回复
6
小小小小白|  楼主 | 2015-9-5 22:53 | 只看该作者
感觉只是个小问题

使用特权

评论回复
7
Xin飞扬| | 2015-9-6 21:38 | 只看该作者
给力

使用特权

评论回复
8
毁灭2012| | 2015-9-7 07:22 | 只看该作者
spi部分返回的timeout是什么东西啊?

使用特权

评论回复
9
android2| | 2015-9-7 09:29 | 只看该作者

spi配置的怎么样,注意时序啊

使用特权

评论回复
10
拉克丝| | 2015-9-7 19:18 | 只看该作者
HAL_Status = HAL_SPI_TransmitReceive(&hspi1, (unsigned char*)&i,(unsigned char*)&Temp, 1, 1000)
能解释一下吗

使用特权

评论回复
11
小小小小白|  楼主 | 2015-9-10 22:01 | 只看该作者
android2 发表于 2015-9-7 09:29
spi配置的怎么样,注意时序啊

额。问题好像解决了。单步调试的时候,timeout应该是正常的

使用特权

评论回复
12
小小小小白|  楼主 | 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

粉丝