This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMDSECATCNCD379D:SPI 外设接口数据发送和接收错误

Guru**** 2589245 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error

器件型号:TMDSECATCNCD379D
主题中讨论的其他器件:C2000WARESysConfig

尊敬的 TI 团队:

我将以下示例用于 SPI 外设接口。

C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\spi_loopback

在此示例中、我未使用 SPI 'loopback'状态。 这就是我关闭'loopback'的原因(SpiaRegs.SPICCR.bit.SPILBK = 0)。

我无法使用 GPIO (GPIO16-19)发送和接收数据。

Sinan、

谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    让我尝试重现此问题。 您是否查看了 driverlib 中可用的外部环回示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我正在等待您尝试重现此问题。

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3871914 #3871914"]让我尝试重现此问题。

    据我了解 、C2000ware 中有两个不同的 SPI_loopback 示例。

    C:\ti\c2000Ware_3_04_00_00\driverlib\f2837xd\examples\cpu1\spi\spi_ex1_loopback

    C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\spi_loopback

    driverlib 中的外部回送示例与 device_support 中的示例有何区别?  driverlib 中的示例是否优于 device_support 中的示例?

    Sinan、
    谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    device_support 文件夹中的示例使用位字段结构来配置外设。 这种外设配置方法在我们之前的 SDK 中使用。 在 C2000ware 中、我们添加了提供低级 API 的 driverlib、这些 API 可用于配置外设、而不是由用户直接写入各个寄存器值。 这提供了一个抽象级别、提高了代码可读性和跨器件的兼容性、也是初学者友好的、因为用户不需要知道寄存器级别的详细信息来配置外设。

    有关更多详细信息,请访问 :https://software-dl.ti.com/C2000/docs/software_guide/c2000ware/drivers.html

    我们还为 Dirverlib 提供了 SysConfig 支持、Dirverlib 是用于外设配置的 GUI。 我们的大多数新示例开发都基于 driverlib。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    我尝试在 Launchchapd 上运行 SPI_loopback 示例、并且能够在 SPI 线路上看到输出。

    我尝试了示例"原样"、并禁用了 LBK。 在这两种情况下、我都可以观察 GPIO 上的数据。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我也在下面的 SPI_loopback 示例中看到了 GPIO 输出。

    C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\spi_loopback

    但是、在 driverlib 和 device_support 中的 SPI 实例中、我无法从 GPIO 获取数据。

    DSP 是从处理器、STM32 ARM 处理器是主处理器。  STM32 ARM 处理器通过 SPI 从 GPIO 数据输出提供。 同样、DSP 通过 SPI 从 GPIO 发送数据。

    但是、当我使用 SPI 将 STM32连接到 DSP 时、我无法在 DSP 中看到数据。

    您认为这可能是什么原因?

    Sinan、
    谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    您能否解释一下"我看到了 GPIO 输出"和  "我无法从 GPIO 获取数据"的含义

    我的意思是、我使用了外部 逻辑分析仪 、 能够观察引脚上的数据。

    您是否能够观察 STM 器件发出的数据和时钟? 由于 C2000器件充当从器件、因此它需要主器件提供 CLK 以发送数据。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3877114 #3877114"]您能否解释一下"我看到了 GPIO 输出"和  "我无法从 GPIO 获取数据"的含义

    我使用了外部逻辑分析仪、能够观察引脚上的数据。  

    此外、我观察来自 STM 器件的数据和 CLK。

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    您是说、您在引脚上观察 STM 器件的数据、C2000 SPI 配置为从模式、但在 C28x SPI RX 寄存器上看不到数据吗?

     是否使用外部回送示例中的从配置代码? 您是否介意共享代码?

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3878557 #3878557"]您是说,您正在观察来自 STM 器件的引脚数据,C2000 SPI 配置为从模式,但在 C28x SPI RX 寄存器中看不到数据吗?

    是的。

    我正在共享我尝试过的代码。

    我正在使用的 drivelib 示例:

    /cfs-file/__key/communityserver-discussions-components-files/171/spi_5F00_ex1_5F00_loopback.rar

     我将使用的 device_support 示例:

    /cfs-file/__key/communityserver-discussions-components-files/171/0535.Example_5F00_2837xDSpi_5F00_FFDLB.c

    /cfs-file/__key/communityserver-discussions-components-files/171/4048.F2837xD_5F00_Spi.c

    Sinan、

    谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    应用程序是否卡在  while (SpiaRegs.SPIFFRX.bit.RXFFST!=1){?

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    是的。 该应用程序正在 while (SpiaRegs.SPIFFRX.bit.RXFFST!=1){}行进行存根。

    此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    您是否配置了 STE 引脚? STM 器件是否驱动该低电平?

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我配置了 STE 引脚。  STM 器件不会驱动该低电平。

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    应将 STE 引脚驱动为低电平、以便 SPI 从器件接收数据。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我将 STE 引脚设置为低电平。  我在示波器上看到 STE 引脚为低电平。 但 DSP 无法从从从器件接收数据。

    此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3880071 #3880071"]应用程序是否滞留在  while (SpiaRegs.SPIFFRX.bit.RXFFST!=1){}?[/quot]

    应用程序为  while (SpiaRegs.SPIFFRX.bit.RXFFST!= 1){当器件之间的 STE (CS)引脚未连接时,}行不会卡住。  当器件之间的 STE (CS)引脚连接时、应用程序将在 while (SpiaRegs.SPIFFRX.bit.RXFFST!= 1){}行中占用。

    STM32F7器件的 SPI 主代码如下:

    /* USER CODE BEGIN Header */
    /**
      ******************************************************************************
      * @file           : main.c
      * @brief          : Main program body
      ******************************************************************************
      * @attention
      *
      * <h2><center>Copyright Copyright (c) 2021 STMicroelectronics.
      * All rights reserved.</center></h2>
      *
      * This software component is licensed by ST under Ultimate Liberty license
      * SLA0044, the "License"; You may not use this file except in compliance with
      * the License. You may obtain a copy of the License at:
      *                             www.st.com/SLA0044
      *
      ******************************************************************************
      */
    /* USER CODE END Header */
    /* Includes ------------------------------------------------------------------*/
    #include "main.h"
    #include "lwip.h"
    
    /* Private includes ----------------------------------------------------------*/
    /* USER CODE BEGIN Includes */
    #include "udpServerRAW.h"
    /* USER CODE END Includes */
    
    /* Private typedef -----------------------------------------------------------*/
    /* USER CODE BEGIN PTD */
    
    /* USER CODE END PTD */
    
    /* Private define ------------------------------------------------------------*/
    /* USER CODE BEGIN PD */
    /* USER CODE END PD */
    
    /* Private macro -------------------------------------------------------------*/
    /* USER CODE BEGIN PM */
    
    /* USER CODE END PM */
    
    /* Private variables ---------------------------------------------------------*/
    
    SPI_HandleTypeDef hspi2;
    
    /* USER CODE BEGIN PV */
    
    /* USER CODE END PV */
    
    /* Private function prototypes -----------------------------------------------*/
    void SystemClock_Config(void);
    static void MX_GPIO_Init(void);
    static void MX_SPI2_Init(void);
    /* USER CODE BEGIN PFP */
    
    /* USER CODE END PFP */
    
    /* Private user code ---------------------------------------------------------*/
    /* USER CODE BEGIN 0 */
    struct netif gnetif;
    
    extern char buf;
    /* USER CODE END 0 */
    
    /**
      * @brief  The application entry point.
      * @retval int
      */
    uint8_t rdata[2];
    
    int main(void)
    {
      /* USER CODE BEGIN 1 */
    
      /* USER CODE END 1 */
    
      /* Enable I-Cache---------------------------------------------------------*/
      SCB_EnableICache();
    
      /* Enable D-Cache---------------------------------------------------------*/
      SCB_EnableDCache();
    
      /* MCU Configuration--------------------------------------------------------*/
    
      /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
      HAL_Init();
    
      /* USER CODE BEGIN Init */
    
      /* USER CODE END Init */
    
      /* Configure the system clock */
      SystemClock_Config();
    
      /* USER CODE BEGIN SysInit */
    
      /* USER CODE END SysInit */
    
      /* Initialize all configured peripherals */
      MX_GPIO_Init();
      MX_LWIP_Init();
      MX_SPI2_Init();
      /* USER CODE BEGIN 2 */
      udpServer_init ();
    
      uint8_t sdata[2];
    
      sdata[0] = 0xAB;
      sdata[1] = 0xEF;
    
      //HAL_SPI_Transmit(&hspi2, &deger, 1, 100);
    
      //uint8_t deger = 0xFA;
      /* USER CODE END 2 */
    
    
      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)
      {
        /* USER CODE END WHILE */
    
        /* USER CODE BEGIN 3 */
    
    	//HAL_GPIO_WritePin(GPIOI, GPIO_PIN_0, GPIO_PIN_RESET);
    	HAL_SPI_Transmit(&hspi2, sdata, 2, 100);
    	HAL_SPI_Receive(&hspi2, rdata, 2, 100);
    	//HAL_GPIO_WritePin(GPIOI, GPIO_PIN_0, GPIO_PIN_SET);
    	//HAL_Delay(100);
    
    	ethernetif_input(&gnetif);
    	sys_check_timeouts();
    
    
      }
      /* USER CODE END 3 */
    }
    
    /**
      * @brief System Clock Configuration
      * @retval None
      */
    void SystemClock_Config(void)
    {
      RCC_OscInitTypeDef RCC_OscInitStruct = {0};
      RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
    
      /** Configure the main internal regulator output voltage
      */
      __HAL_RCC_PWR_CLK_ENABLE();
      __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
      /** Initializes the RCC Oscillators according to the specified parameters
      * in the RCC_OscInitTypeDef structure.
      */
      RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
      RCC_OscInitStruct.HSEState = RCC_HSE_ON;
      RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
      RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
      RCC_OscInitStruct.PLL.PLLM = 25;
      RCC_OscInitStruct.PLL.PLLN = 432;
      RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
      RCC_OscInitStruct.PLL.PLLQ = 9;
      if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
      {
        Error_Handler();
      }
      /** Activate the Over-Drive mode
      */
      if (HAL_PWREx_EnableOverDrive() != HAL_OK)
      {
        Error_Handler();
      }
      /** Initializes the CPU, AHB and APB buses clocks
      */
      RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                                  |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
      RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
      RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
      RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
      RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
    
      if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK)
      {
        Error_Handler();
      }
    }
    
    /**
      * @brief SPI2 Initialization Function
      * @param None
      * @retval None
      */
    static void MX_SPI2_Init(void)
    {
    
      /* USER CODE BEGIN SPI2_Init 0 */
    
      /* USER CODE END SPI2_Init 0 */
    
      /* USER CODE BEGIN SPI2_Init 1 */
    
      /* USER CODE END SPI2_Init 1 */
      /* SPI2 parameter configuration*/
      hspi2.Instance = SPI2;
      hspi2.Init.Mode = SPI_MODE_MASTER;
      hspi2.Init.Direction = SPI_DIRECTION_2LINES;
      hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
      hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
      hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
      hspi2.Init.NSS = SPI_NSS_HARD_OUTPUT;
      hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
      hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
      hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
      hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
      hspi2.Init.CRCPolynomial = 7;
      hspi2.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
      hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
      if (HAL_SPI_Init(&hspi2) != HAL_OK)
      {
        Error_Handler();
      }
      /* USER CODE BEGIN SPI2_Init 2 */
    
      /* USER CODE END SPI2_Init 2 */
    
    }
    
    /**
      * @brief GPIO Initialization Function
      * @param None
      * @retval None
      */
    static void MX_GPIO_Init(void)
    {
    
      /* GPIO Ports Clock Enable */
      __HAL_RCC_GPIOG_CLK_ENABLE();
      __HAL_RCC_GPIOI_CLK_ENABLE();
      __HAL_RCC_GPIOH_CLK_ENABLE();
      __HAL_RCC_GPIOC_CLK_ENABLE();
      __HAL_RCC_GPIOA_CLK_ENABLE();
      __HAL_RCC_GPIOB_CLK_ENABLE();
    
    }
    
    /* USER CODE BEGIN 4 */
    
    /* USER CODE END 4 */
    
    /**
      * @brief  Period elapsed callback in non blocking mode
      * @note   This function is called  when TIM14 interrupt took place, inside
      * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
      * a global variable "uwTick" used as application time base.
      * @param  htim : TIM handle
      * @retval None
      */
    void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    {
      /* USER CODE BEGIN Callback 0 */
    
      /* USER CODE END Callback 0 */
      if (htim->Instance == TIM14) {
        HAL_IncTick();
      }
      /* USER CODE BEGIN Callback 1 */
    
      /* USER CODE END Callback 1 */
    }
    
    /**
      * @brief  This function is executed in case of error occurrence.
      * @retval None
      */
    void Error_Handler(void)
    {
      /* USER CODE BEGIN Error_Handler_Debug */
      /* User can add his own implementation to report the HAL error return state */
      __disable_irq();
      while (1)
      {
      }
      /* USER CODE END Error_Handler_Debug */
    }
    
    #ifdef  USE_FULL_ASSERT
    /**
      * @brief  Reports the name of the source file and the source line number
      *         where the assert_param error has occurred.
      * @param  file: pointer to the source file name
      * @param  line: assert_param error line source number
      * @retval None
      */
    void assert_failed(uint8_t *file, uint32_t line)
    {
      /* USER CODE BEGIN 6 */
      /* User can add his own implementation to report the file name and line number,
         ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
      /* USER CODE END 6 */
    }
    #endif /* USE_FULL_ASSERT */
    
    /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
    

    此外、TM320F2879D 从器件不向 STM32F7主器件发送数据。

    此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    还应检查极性和相位配置。 不同 制造商的定义可能会有所不同。 请检查范围上的波形、并确认 STM 发送的数据的相位和极性与 TM320F2879D 器件中配置的数据匹配。

    您可以查看 TRM 中的 SPI 时钟方案部分以了解更多详细信息。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我检查了极性和相位配置。 这些设置没有问题。

    我能够将数据从 STM32F 主设备发送到我的 TI 从设备。 我更改了 STM32F 主器件的 STE (CS)引脚、问题得到了解决。

    TI 从器件不向 STM32F 主器件发送数据。  当 TI 器件处于从模式时、我在 SPI GPIO 引脚上看不到任何输出信号。 当我的 TI 处于主模式时、我可以从 SPI GPIO 引脚获取输出信号。

    为什么我的 TI 在从模式下不发送数据?

    谢谢、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    从器件无法启动数据传输。 一旦您写入 TX 缓冲区、它将保持在缓冲区中、直到主器件发起一个传输。 您可以使主器件发送一些虚拟数据以从从器件接收数据。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我无法从 TI 从器件向主 STM32F 器件发送数据?

    我没有完全理解这一点。

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3884629 #3884629"]您可以使主设备发送一些虚拟数据以从从从设备接收数据。

    谢谢、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    根据 SPI 协议、数据在基于 SPICLK 的 SPI 线上移出、而 SPICLK 仅由主器件生成。 两个器件同时发送和接收数据。 如果主器件要求从器件发送数据、但主器件不希望发送任何新数据、则可以启动虚拟数据传输。 例如:将0写入主器件 TX、以便生成 SPICLK、从器件可以移出待发送的数据。  

     更多信息、请参阅 TRM 中的 SPI 操作一章

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我向主器件 TX 写入0、但主器件无法接收 TI 从器件发送的数据。  我还检查了 TRM 中的 SPI 部分。

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    TI 器件不能作为从器件运行。 TI 器件是否可以存在芯片 勘误条件?

    drivelib 中的 SPI 实例也不能作为从器件运行。 (无法向 STM32F 主设备发送数据。)

    谢谢、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    我们在 C2000ware (外部回送示例)中确实有一个示例、该示例将一个 SPI 实例配置为主实例、将另一个配置为从实例、并按预期运行。 您能否共享从器件发送和接收数据的代码片段?

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3885975 #388559"]您能否共享从器件发送和接收数据的代码片段?[/quot]

    我正在使用的 drivelib 示例:

    /cfs-file/__key/communityserver-discussions-components-files/171/0435.spi_5F00_ex1_5F00_loopback.rar

    谢谢、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    您是否能够检查 我与您共享的代码片段?  解决此问题是否有任何进展?

    [引用 userid="487101" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3884775 #3884775"]I 将0写入主器件 TX、但主器件无法接收 TI 从器件发送的数据。  我还查看了 TRM 中的 SPI 部分。[/QUERT]

    谢谢、此致、
    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    我看不到共享代码的任何问题。  写入数据之后和读取数据之前、您可以检查 TXBUF 寄存器和 SPISTS.BUFFULL_FLAG。 TXBUF 应包含要发送的数据、BUFFLL_FLAG 应为1。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3890318 #3890318"]写入数据之后和读取数据之前,可以检查 TXBUF 寄存器和 SPISTS.BUFFULL_FLAG。[/QUERPLET]

    TXBUF 包含要发送的数据、但 BUFFULL_FLAG 不是1。

    Sinan、

    谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    为了确保没有硬件问题、您可以尝试 从 C2000ware 运行示例吗?  spi_ex3_external_loopback ->这会将一个实例配置为主实例、将另一个实例配置为从实例。 在本示例中、两者都在发送数据。 F2837x 中当前不存在这种情况、但您可以从 F2838x 示例文件夹中重复使用它。 在这两个器件中、SPI 模块保持不变。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我从 C2000Ware 运行了以下示例。

    C:\C2000Ware_3_04_00_00\driverlib\f2837xd\examples\cpu1\spi\spi_ex3_external_loopback _fifo_interrupts

    SPI A 从器件正在从 STM32F 主器件接收数据。  但是、它不会按照主器件发送数据的顺序接收数据。

    在本示例中、SPI A 从器件不向 STM32F 主器件发送数据。

    在本示例中、还有两个 SPI 配置。 SPI B 是主器件、SPI A 是从器件。 我想使用单个 SPI 线路作为主从模式。

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3893572 #389357"] SPI_ex3_external_loopback[/quot]

    您能否验证我使用的 SPI 示例?

    Sinan、

    非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在  F2837x 中的 SPI_ex3_external_loopback_fifo_interrupts 中、只有 主实例发送 数据。 因此、我要求检查 F2838x 中的 SPI_ex3_external_loopback、这两个实例都 将 数据从一个发送到另一个实例。  

    您能否确认 两个器件中配置的数据长度是否匹配?

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3895160 #3895160"]您能否确认 两个器件中配置的数据长度是否匹配?

    两个器件上配置的数据长度匹配。

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    如果您可以在逻辑分析仪/示波器上捕获 SPI 线路、以进一步了解问题所在、这将会有所帮助。

    此外、如果您可以检查  F2838x 中的 SPI_ex3_external_loopback 并执行相同的 SysConfig 设置并将主代码复制到 F2837x 项目、则它将用作 功能测试。  (注意:我们计划在下一个 C2000ware 版本中将此示例添加到 F2837x 中)。  它将一个实例配置为主实例、将另一个实例配置为从实例、您必须从外部连接其引脚。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用来自 F2838x[/quot]的 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3896728 #3896728"] SPI_ex3_external_loopback

    此示例位于 C2000Ware 中的什么位置?  您可以共享文件路径吗?

    此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此示例在此处提供:\ti\c2000\C2000Ware_4_00_00_00\driverlib\f2838x\examples\C28x\SPI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我使用的是 C2000Ware_3_04_00_00。 我在计算机上安装了 C2000Ware_4_00_00_00。

    当一个新的中断发生时、最近的接收数据仍然保留在 SPIRXBUF 内容中。 如何 将 SPIRX 缓冲器的内容置零。

    //
    // SPI A Receive FIFO ISR
    //
    __interrupt void spiaRxFIFOISR(void)
    {
        uint16_t i;
    
        //
        // Read data
        //
    
        for(i = 0; i < 3; i++)
        {
            rData[i] = 0;
        }
    
    
        for(i = 0; i < 3; i++)
        {
             rData[i] = SPI_readDataNonBlocking(SPIA_BASE);
        }
    
    
        if (rData[2] == 0x3344)
           Interrupt_enable(INT_SPIA_TX);
    
        //
        // Check received data
        //
        for(i = 0; i < 6; i++)
        {
            if(rData[i] != (rDataPoint + i))
            {
                // Something went wrong. rData doesn't contain expected data.
                Example_Fail = 1;
                ESTOP0;
            }
        }
    
        rDataPoint++;
    
        //
        // Clear interrupt flag and issue ACK
        //
        SPI_clearInterruptStatus(SPIA_BASE, SPI_INT_RXFF);
        Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP6);
    
        Example_PassCount++;
    }
    
    //
    // End of File
    //

    在本示例中无法识别以下代码段。

    SpiaRegs.SPIRXBUF = 0;

    谢谢、此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3899690 #3899690"]\ti\c2000Ware_4_00_00_00\driverlib\f2838x\examples\C28x\SPI[/quot]

    我尝试了很多方法。 但我无法在这里为 f2837xd 运行示例。

    如何为 f2837xd 编辑此示例?

    谢谢、此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../spi_5F00_external_5F00_loopback.c

    请使用随附的主文件。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3901351 #3901351"]请使用随附的主文件。

    我正在使用此文件。 我已成功接收来自 STM32F7主设备的数据。 但我无法将数据从我的 DSP 从设备发送到主设备。

    主器件执行下图中的过程来从从器件接收数据:

    我的 DSP 从设备代码如下:

    //#############################################################################
    //
    // FILE:   spi_ex5_external_loopback.c
    //
    // TITLE:  SPI Digital Loopback without using FIFOs and Interrupts
    //
    //! \addtogroup driver_example_list
    //! <h1>SPI Digital External Loopback without FIFO Interrupts</h1>
    //!
    //! This program uses the external loopback between two SPI modules. Both
    //! the SPI FIFOs and interrupts are not used in this example. SPIA is
    //! configured as a slave and SPI B is configured as master. This example
    //! demonstrates full duplex communication where both master and slave transmits
    //! and receives data simultaneously.
    //!
    //!
    //! \b External \b Connections \n
    //!  -GPIO25 and GPIO17 - SPISOMI
    //!  -GPIO24 and GPIO16 - SPISIMO
    //!  -GPIO27 and GPIO19 - SPISTE
    //!  -GPIO26 and GPIO18 - SPICLK
    //!
    //! \b Watch \b Variables \n
    //!  - \b TxData_SPIA - Data send from SPIA (slave)
    //!  - \b TxData_SPIB - Data send from SPIB (master)
    //!  - \b RxData_SPIA - Data received by SPIA (slave)
    //!  - \b RxData_SPIB - Data received by SPIB (master)
    //!
    //
    //#############################################################################
    // $TI Release:  $
    // $Release Date:  $
    // $Copyright:  $
    //###########################################################################
    
    //
    // Included Files
    //
    #include "driverlib.h"
    #include "device.h"
    
    //
    // Function Prototypes
    //
    void initSPIBMaster(void);
    void initSPIASlave(void);
    void configGPIOs(void);
    
    //
    // Main
    //
    
    uint16_t TxData_SPIA[] = {0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF};
    uint16_t RxData_SPIA[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
    
    void main(void)
    {
        uint8_t i;
    
        //
        // Initialize device clock and peripherals
        //
        Device_init();
    
        //
        // Disable pin locks and enable internal pullups.
        //
        Device_initGPIO();
    
        //
        // Initialize PIE and clear PIE registers. Disables CPU interrupts.
        //
        Interrupt_initModule();
    
        //
        // Initialize the PIE vector table with pointers to the shell Interrupt
        // Service Routines (ISR).
        //
        Interrupt_initVectorTable();
    
        //
        // Configure GPIOs for external loopback.
        //
        configGPIOs();
    
        //
        // Set up SPI B as master, initializing it for FIFO mode
        //
        //initSPIBMaster();
    
        //
        // Set up SPI A as slave, initializing it for FIFO mode
        //
        initSPIASlave();
    
        //
        // Loop forever. Suspend or place breakpoints to observe the buffers.
        //
        while(1)
        {
            for(i = 0; i < 6; i++)
            {
                RxData_SPIA[i] = SPI_readDataBlockingNonFIFO(SPIA_BASE) << 8;
    
                SPI_writeDataNonBlocking(SPIA_BASE, TxData_SPIA[i] << 8);
    
            }
        }
    }
    
    //
    // Function to configure SPI B as master with FIFO enabled.
    //
    void initSPIBMaster(void)
    {
        //
        // Must put SPI into reset before configuring it
        //
        SPI_disableModule(SPIB_BASE);
    
        //
        // SPI configuration. Use a 500kHz SPICLK and 16-bit word size.
        //
        SPI_setConfig(SPIB_BASE, DEVICE_LSPCLK_FREQ, SPI_PROT_POL0PHA0,
                      SPI_MODE_MASTER, 500000, 16);
        SPI_disableLoopback(SPIB_BASE);
        SPI_setEmulationMode(SPIB_BASE, SPI_EMULATION_FREE_RUN);
    
        //
        // Configuration complete. Enable the module.
        //
        SPI_enableModule(SPIB_BASE);
    }
    
    //
    // Function to configure SPI A as slave with FIFO enabled.
    //
    void initSPIASlave(void)
    {
        //
        // Must put SPI into reset before configuring it
        //
        SPI_disableModule(SPIA_BASE);
    
        //
        // SPI configuration. Use a 500kHz SPICLK and 16-bit word size.
        //
        SPI_setConfig(SPIA_BASE, DEVICE_LSPCLK_FREQ, SPI_PROT_POL0PHA0,
                      SPI_MODE_SLAVE, 500000, 8);
        SPI_disableLoopback(SPIA_BASE);
        SPI_setEmulationMode(SPIA_BASE, SPI_EMULATION_FREE_RUN);
    
        //
        // Configuration complete. Enable the module.
        //
        SPI_enableModule(SPIA_BASE);
    }
    
    //
    // Configure GPIOs for external loopback.
    //
    void configGPIOs(void)
    {
        //
        // This test is designed for an external loopback between SPIA
        // and SPIB.
        // External Connections:
        // -GPIO25 and GPIO17 - SPISOMI
        // -GPIO24 and GPIO16 - SPISIMO
        // -GPIO27 and GPIO19 - SPISTE
        // -GPIO26 and GPIO18 - SPICLK
        //
    
        /*
        //
        // GPIO17 is the SPISOMIA.
        //
        GPIO_setMasterCore(17, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_17_SPISOMIA);
        GPIO_setPadConfig(17, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(17, GPIO_QUAL_ASYNC);
    
        //
        // GPIO16 is the SPISIMOA clock pin.
        //
        GPIO_setMasterCore(16, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_16_SPISIMOA);
        GPIO_setPadConfig(16, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(16, GPIO_QUAL_ASYNC);
    
        //
        // GPIO19 is the SPISTEA.
        //
        GPIO_setMasterCore(19, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_19_SPISTEA);
        GPIO_setPadConfig(19, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(19, GPIO_QUAL_ASYNC);
    
        //
        // GPIO18 is the SPICLKA.
        //
        GPIO_setMasterCore(18, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_18_SPICLKA);
        GPIO_setPadConfig(18, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(18, GPIO_QUAL_ASYNC);
    
    
        //
        // GPIO25 is the SPISOMIB.
        //
        GPIO_setMasterCore(25, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_25_SPISOMIB);
        GPIO_setPadConfig(25, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(25, GPIO_QUAL_ASYNC);
    
        //
        // GPIO24 is the SPISIMOB clock pin.
        //
        GPIO_setMasterCore(24, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_24_SPISIMOB);
        GPIO_setPadConfig(24, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(24, GPIO_QUAL_ASYNC);
    
        //
        // GPIO27 is the SPISTEB.
        //
        GPIO_setMasterCore(27, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_27_SPISTEB);
        GPIO_setPadConfig(27, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(27, GPIO_QUAL_ASYNC);
    
        //
        // GPIO26 is the SPICLKB.
        //
        GPIO_setMasterCore(26, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_26_SPICLKB);
        GPIO_setPadConfig(26, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(26, GPIO_QUAL_ASYNC);
        */
    
        //
        // GPIO59 is the SPISOMIA.
        //
        GPIO_setMasterCore(59, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_59_SPISOMIA);
        GPIO_setPadConfig(59, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(59, GPIO_QUAL_ASYNC);
    
        //
        // GPIO58 is the SPISIMOA clock pin.
        //
        GPIO_setMasterCore(58, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_58_SPISIMOA);
        GPIO_setPadConfig(58, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(58, GPIO_QUAL_ASYNC);
    
        //
        // GPIO61 is the SPISTEA.
        //
        GPIO_setMasterCore(61, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_61_SPISTEA);
        GPIO_setPadConfig(61, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(61, GPIO_QUAL_ASYNC);
    
        //
        // GPIO60 is the SPICLKA.
        //
        GPIO_setMasterCore(60, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_60_SPICLKA);
        GPIO_setPadConfig(60, GPIO_PIN_TYPE_PULLUP);
        GPIO_setQualificationMode(60, GPIO_QUAL_ASYNC);
    }
    

    感恩节快乐!

    谢谢、致以诚挚的问候。

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

     示例是 SPIA 和 SPIB 实例之间的数据传输。 请按照原样使用连接 SPI 和 SPIB (不使用 STM)的示例、以确保没有硬件问题。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3901351 #3901351"]请使用随附的主文件。

    我运行了在连接 SPIA 和 SPIB 时发送给我的示例(没有 STM32主设备)。 该示例运行时没有任何问题。 但是、正如我之前提到的、DSP 从器件不会向 STM32主器件发送数据。

    我无法向 STM32主设备发送数据、这一点非常有趣。

    您是否可以在任何 STM32设备上尝试该问题?  这个问题 是我们项目的一个非常重要的部分。

    此致、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    [引用 userid="487101" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3906187 #3906187"]该示例运行时没有任何问题。

    这意味着 SPI 从器件能够发送数据。

    [引用 userid="487101" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3906187 #3906187"]您是否可以在任何 STM32设备上尝试该问题

    遗憾的是、我没有使用 STM 器件进行测试。

    我要做的是、断开 SOMI 引脚与 STM 器件的连接、并使用逻辑分析仪/示波器进行观察。 这是为了确保 DSP 是否在 SOMI 引脚上发送数据。  

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我成功地将数据从 DSP 从器件发送到 STM32主器件。 但是、正确的数据不会传输到主器件。 例如、我从 DSP 从器件发送数据0xABCD、而 STM32主器件接收数据0xD5E6。

    如前所述、将数据从 STM32主设备发送到 DSP 从设备没有问题。

    主设备和从设备的 CPOL 和 CPHA 参数正确。 我还检查了其他 SPI 参数。

    我们如何解决这个问题?

    谢谢、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    如果您可以探测引脚并检查 SPI 线路上可用的数据、这将有所帮助。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我探测 SPI 线路上的引脚。 主 STM32器件未正确接收从机 DSP 发送的数据。

    但我不知道如何解决这个问题。

    谢谢、

    Sinan。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    我是否应该打开另一个案例来解决此问题?

    Sinan、

    谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    从 DSP 发送的数据看起来正确。 STM 侧必须存在一些配置问题。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3911400 #3911400"]在 STM 端必须存在一些配置问题。

    我查看了 STM 侧的配置设置。 没有什么问题。

    这是否是主器件和从器件之间的同步问题?  

    是否有一个德州 DSP 与不同 DSP 或 MCU 之间的 SPI 通信示例?

    Sinan、
    谢谢、致以诚挚的问候。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sinan、

    不幸的是,我们没有这样的例子。

    我们有一个连接外部 EEPROM 模块 AT25128的接口。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Veena:

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1046386/tmdsecatcncd379d-spi-peripheral-interface-data-transmit-and-receive-error/3919685 #3919685"]我们有一个连接外部 EEPROM 模块 AT25128的接口。

    此示例在 C2000Ware 中的什么位置?

    Sinan、
    谢谢。