OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 307|回复: 1

基于HAL库的SPI数据发送和接收

[复制链接]

  离线 

4

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-7-23
在线时间
5 小时
发表于 2018-7-12 14:08:20 | 显示全部楼层 |阅读模式
5金钱
各位大神,你们好,我现在想用STM32L476上的SPI2和SPI3之间进行数据发送和接收,SPI3设为主机,SPI2设为从机,现在数据可以发送出去,但是接收方接收不到,不知是什么原因????请各位大神指点,不胜感激!!!下面是我的发送接收的程序,基本配置是STM32cube自动生成的,没有进行改动
void StartDefaultTask(void const * argument)
{
  /* USER CODE BEGIN 5 */
  /* Infinite loop */
  unsigned char i=0,j=0;
  
  uint8_t TxData[1]={0x9F};
  uint8_t RxData[1];
  HAL_GPIO_WritePin(SPI3NSS_GPIO_Port,SPI3NSS_Pin,GPIO_PIN_RESET);
  osDelay(500);
   

  for(;;)
  {
//           HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
//              HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
  while(HAL_SPI_Transmit(&hspi2,TxData,1,1000)!=HAL_OK);
  for(i=0;i<10;i++)
   {
      HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
      osDelay(500);
   }
   while(HAL_SPI_Receive(&hspi3,RxData,1,1000)!=HAL_OK);
   osDelay(500);
   HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
   if(RxData[0]==0x9F)
     {
        for(j=0;j<10;j++)
        {
         HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
         osDelay(200);
        }
     }
//    osDelay(500);
  }
  /* USER CODE END 5 */
}

回复

使用道具 举报

  离线 

516

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
134712
金钱
134712
注册时间
2010-12-1
在线时间
1314 小时
发表于 2018-7-13 01:46:50 | 显示全部楼层
慢慢找问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

正点原子双11大促销上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-11-15 08:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */