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.

[参考译文] CCS/MSP432P401R:项目零示例UART问题

Guru**** 2595770 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/634509/ccs-msp432p401r-project-zero-example-uart-problem

部件号:MSP432P401R

工具/软件:Code Composer Studio

您好! 我是TI的新老,我购买了MSP432P401R。 我遵循简介并复制了建议的代码而不做任何更改(TI驱动程序项目零),它一直工作到打印部件5-ADD UART为止。

事实上,当程序达到时  

display_printf (displayHandle,1,0,"ADC Reading %d",adcValue); 

它在串行COM控制台上打印第一个字符后引发异常。 我也尝试了在TICloud的uartecho示例项目中使用函数UART_WRITE (),但得到了相同的结果。  

而UART_READ(),则运行良好。 COM端口似乎可以接收数据,但不能发送数据。  

如何解决我的问题?

下面是完整的代码:

/*
========= empty.c =========
*/*

for usleep()*/
#include <unistd.h>
#include <stdint.h>/*


驱动程序头文件*/
#include <ti/drivers/GPI.h>
#include <ti/drivers/adc.h>
#include <ti/display/display.h>
/drivers/#include <ti/spi//sch/spi//sch//sch//secom.h>






驱动程序包括<ti/</<//sch//sch//sch//sch//sdimp.h>

*/
uint16_t adcValue = 0;
uint16_t阈值= 100;
uint16_t触发器= 0;

/*
==== mainThread =========
*/

void *mainThread (void *arg0)
{
/*~10环/秒*/
uINT32_t时间= 10万;//更新~10/秒

/*调用驱动程序初始化函数*/
GPIO初始化();
ADC_INIT();
// I2C_INIT();
// sdspi_init();
// spi_init();
// UART_INIT();
// Watchdog初始化();

/* Open Display Driver */
display_handle displayHandle;
Display_Params displayParams;
display_params_init(&displayParams);
DisplayHandle = Display_open (Display_Type_UART,NULL);

/*开放式ADC驱动器*/
ADC_HANDLE ADC;
ADC_Params参数;
ADC_PARAM_INIT (参数)(&P);
ADC = ADC_OPEN (Board_ADC0,参数[&P]);
IF (ADC ==空){
//初始化ADC通道0时出错
同时(1);}


而(1){
Int_fast16_t分辨率;
RES = ADC_CONVERT (ADC,&adcValue);
如果(res == ADC_STATUS_SUCCESS){
display_printf (displayHandle,1,0,"ADC Reading %d",adcValue);
IF (adcValue >=阈值){
GPIO写入(Board_GPIO _LED0,Board_GPIO _LED_ON);
触发= 1;
} 否则{
GPIO写入(Board_GPIO _LED0,Board_GPIO _LED_Off);
触发器=0;
}
}

usleep(Te);}

} 

谢谢你

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

    让我为您研究一下。 给我一点时间尝试重新创建。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢。
    此致,
    Mattia
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Evan,Mattia,
    我能够使用CCS云运行项目零示例,COM界面正常工作。
    我验证了我的代码在功能上与Mattias完全相同。 不确定发生了什么。
    一个建议是检查您正在使用的Cloud Agent Bridge (Chrome Extension)版本。
    它位于(右侧的3个圆点图标)->更多工具->扩展。 我使用的是版本3.0。5。
    -Bob
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好! 我检查了我的插件版本,发现它是3.0。5。 所以,我不知道为什么我不会说话。 我是否有macOS?
    但是,我通过以下链接解决了使用Driverlib和特定库进行UART通信的问题:

    www.samlewis。me/.../

    如果您使用它,请记住更改 #include <ti/devices/msp432p4xx/driverlib/driverlib.h>中的#include "driverlib.h"(在printf.c文件和printf_example.c中)

    希望这有所帮助。 感谢您的回答,
    此致,
    Mattia
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这不是操作系统-我在Mac上的CCS云上尝试了这种操作,没有对代码进行任何更改,运行也没有任何问题。 因此,我怀疑您的特定安装中有什么原因导致了该问题。 对于Mac实验,我使用Chrome (Safari似乎给我在Cloud Bridge上带来了麻烦)。 您能告诉我您使用的浏览器和版本以及您的操作系统版本吗?

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

    您是否还能告诉我们您正在使用哪个版本的SimpleLink SDK?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好! 感谢大家的回答! 我正在使用Chrome浏览器版本61.0。3163.100。
    关于简单链接SDK,我使用云端的一个:SimpleLink MSP432P4 SDK 1.50 .00.12

    此致,
    Mattia
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mattia,
    由于我们还不能重现您的问题,我认为仍然缺少一些信息。 您是否有运行代码时出现的实际异常的屏幕截图?
    -Bob
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好,这是我在执行阻塞指令之前处于调试模式的屏幕。 请注意,串行控制台为空

    在第二个图像中,我单击了调试器的下一步按钮,它打印了字符'A'(第一个“ADC读取...”),但我不能继续。 我不知道可以提出哪种例外。

    通过查看调试器指令,它在名为semaphore.c的文件中执行某些内容,然后,也是逐步的,我不能继续使用调试器。

    此致,

    Mattia

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

    Mattia,

    当您进入Target (目标)> Connect to COM Port (连接到COM端口)时,您是否选择了11.52万波特率? 我刚刚在CCS云中运行过它,没有收到任何错误。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,我做到了。 我将在另一台PC上试用,我会告诉您。

    此致,
    Mattia Ducci