工具/软件: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);}
}
谢谢你


