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 */