TMS570LS1114接收TPS65381A-Q1回复数据整体右移了一位,导致接回来的数据不正确,接回来的数据应该是以0xA8开头的,我的接回来的是0x50开头的,我发送命令使用的是无奇偶校验的命令,有大神知道是什么原因吗?
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.
TMS570LS1114接收TPS65381A-Q1回复数据整体右移了一位,导致接回来的数据不正确,接回来的数据应该是以0xA8开头的,我的接回来的是0x50开头的,我发送命令使用的是无奇偶校验的命令,有大神知道是什么原因吗?
建议您先试一下下面的程序
/** @file example_SPI_Master_Slave.c * @brief Application main file * @date 25.July.2013 * @version 03.06.00 * * This file contains an example of SPI1 and SPI2 Master / Slave configurations. * * PIN Connections must be as Below * --------------- --------------- * SPI1 ( Master ) SPI2 ( SLave) * --------------- --------------- * SIM0 ---> SIMO * S0MI <--- SOMI * CLK ---> CLK * CS0 ---> CS0 * * ------------------ * GUI configurations * ------------------ * 1) Driver TAB * - Select SPI2 * - Select SPI1 * 2) VIm Channel 0-31 * - Enable SPI2 Level 0 and Level 1 channels. * 3) SPI2 TAB * - SPI2 Global SubTAB * - Uncheck Master Mode * - Uncheck Internal Clock * - SPI2 Port SubTAB * - Uncheck DIR for CS 0 * 3) SPI1 TAB * - Have it default * 4) Generate Code. * */ /* (c) Texas Instruments 2009-2013, All rights reserved. */ /* USER CODE BEGIN (0) */ /* USER CODE END */ /* Include Files */ #include "sys_common.h" #include "system.h" /* USER CODE BEGIN (1) */ #include "spi.h" /* USER CODE END */ /** @fn void main(void) * @brief Application main function * @note This function is empty by default. * * This function is called after startup. * The user can use this function to implement the application. */ /* USER CODE BEGIN (2) */ uint16 TX_Data_Master[16] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10 }; uint16 TX_Data_Slave[16] = { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20 }; uint16 RX_Data_Master[16] = { 0 }; uint16 RX_Data_Slave[16] = { 0 }; /* USER CODE END */ void main(void) { /* USER CODE BEGIN (3) */ spiDAT1_t dataconfig1_t; dataconfig1_t.CS_HOLD = FALSE; dataconfig1_t.WDEL = TRUE; dataconfig1_t.DFSEL = SPI_FMT_0; dataconfig1_t.CSNR = 0xFE; /* Enable CPU Interrupt through CPSR */ _enable_IRQ(); /* Initialize SPI Module Based on GUI configuration * SPI1 - Master ( SIMO, SOMI, CLK, CS0 ) * SPI2 - Slave ( SIMO, SOMI, CLK, CS0 ) * */ spiInit(); /* Initiate SPI2 Transmit and Receive through Interrupt Mode */ spiSendAndGetData(spiREG2, &dataconfig1_t, 16, TX_Data_Slave, RX_Data_Slave); /* Initiate SPI1 Transmit and Receive through Polling Mode*/ spiTransmitAndReceiveData(spiREG1, &dataconfig1_t, 16, TX_Data_Master, RX_Data_Master); while(1); /* USER CODE END */ } /* USER CODE BEGIN (4) */ /* USER CODE END */