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.

[参考译文] 编译器/MSP432P401R:使用 TI 样例代码 SPI 主设备与放大器;SPI 从设备。 与 BOOSTXL-EDUMKII 连接时、SPI 不工作

Guru**** 657500 points
Other Parts Discussed in Thread: BOOSTXL-EDUMKII
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/956378/compiler-msp432p401r-using-ti-sample-code-of-spi-master-spi-slave-when-attached-with-boostxl-edumkii-spi-not-working

器件型号:MSP432P401R
主题中讨论的其他器件:BOOSTXL-EDUMKII

工具/软件:TI C/C++编译器

大家好、我不知道正在发生什么、希望有人能帮助我解决这个问题。

我已经下载了两个项目、分别是 SPI_MasterSPI_Slave。  

我对接线连接进行了如下小幅更改

由于 最初 CONFIG_SPI_SLAVE_READY 使用 P6.0/2 (标头)、这是因为我需要从游戏手柄(使用 P6.0)检索数据、因此更改为 P6.1/23 (标头)。

场景1:没有连接  BOOSTXL-EDUMKII、我的 MSP432主设备和从设备都能够传输数据。 (这是正确的流程)  

场景2:我连接  BOOSTXL-EDUMKII 后、SPI 不工作(不确定原因)


我添加了代码以在屏幕上显示字符串。 如下所示。 除此之外、我没有做任何更改

 

 

 

 

 

 

/*
=== MAIN_FreeRTOS.c ===
*/
#include 

#ifdef __ICCARM __
#include 
#endif

/* POSIX 头文件*/
#include 

/* RTOS 头文件*/
#include 
#include 

/*驱动程序配置*/
#include 

#include 
#include 
#include 
#include "LcdDriver/Crystalfontz128x128_ST7735.h"
#include 

/*图形库上下文*/
Graphics_context g_sContext;

extern void *mainThread (void *arg0);

/*以字节为单位的栈大小*/
#define THREADSTACKSIZE 1024

/*
=== main ====
*/
int main (void)
{
pthread_t 线程;
pthread_attr_t attrs;
struct sched_param primParam;
内部 REC;

/*初始化系统锁定*/
#ifdef __ICCARM __
__IAR_Initlocks();
#endif

/*调用驱动程序初始化函数*/
Board_init();

/*初始化显示*/
Crystalfontz128x128_Init();

/*设置默认屏幕方向*/
Crystalfontz128x128_SetOrientation (LCD_orientation_up);

/*初始化图形上下文*/
graphics_initContext (&g_sContext、&g_sCrystalfontz128x128、&g_sCrystalfontz128x128_funcs);
graphics_setForegroundColor (&g_sContext、graphics_color_red);
graphics_setBackgroundColor (&g_sContext、graphics_color_white);
GrContextFontSet (&g_sContext、&g_sFontFixed6x8);
graphics_clearDisplay (&g_sContext);
GRAPHICS_drawStringCenter(&g_sContext,
(INT8_t *)"测试"、
AUTO_STRING_LENGTH、
64、
30、
不透明文本);

/*使用默认值初始化属性结构*/
pthread_attr_init (atttrs);

/*设置优先级、分离状态和堆栈大小属性*/
priParam.sched_priority = 1;
retc = pthread_attr_setschedparam (&attrs、&priParam);
retc |= pthread_attr_setdetachstate (&attrs、pthread_create_detachstate);
retc |= pthread_attr_setstacksize (&attrs、THREADSTACKSIZE);
如果(retc!= 0){
/*无法设置属性*/
while (1){}


retc = pthread_create (&thread、&attrs、mainThread、NULL);
如果(retc!= 0){
/* pthread_create()失败*/
while (1){}


// retc = pthread_create (&thread、&attrs、screenThread、NULL);
// 如果(retc!= 0){
// /* pthread_create()失败*//
while (1){}
//}

/*启动 FreeRTOS 调度程序*/
vTaskStartScheduler();

}



//*************
//
//! \brief 应用程序定义的 malloc 失败挂钩
//!
//! \param none
//!
//! \无返回
//!
//
void vApplicationMallocFailedHook()
{
/*处理内存分配错误*/
while (1)
{
}
}

//*********
//
//! \brief 应用程序定义的堆栈溢出挂钩
//!
//! \param none
//!
//! \无返回
//!
//
void vApplicationStackOverflowHook (TaskHandle_t pxTask、char * pcTaskName)
{
//处理 FreeRTOS 堆栈溢出
while (1)
{
}
}

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

    您好、Alfred、

    您能更详细地解释一下您的硬件连接吗?  LaunchPad 是否连接到另一个电路板、然后再插入 LaunchPad、它会中断?   

    您的 SPI 引脚上可能存在一些硬件冲突。  

    谢谢、

    JD

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

    JD、您好!

    感谢您的回复。

    基本上,我有两个 MSP432板,一个带有主 SPI,另一个带有从 SPI 的 MSP 通过使用端口2.3、2.5、2.6、2.7、5.7从板背面连接。 6.1.  

    对于与 BOOSTXL-EDUMKII 连接的主器件、使用电路板的前端。