新手上路
- 积分
- 29
- 金钱
- 29
- 注册时间
- 2016-7-23
- 在线时间
- 5 小时
|
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 */
}
|
|