Embedded TI CC2652RB的嵌入式编码。如何从uart接收字符串并将其保存在sd卡中?

Embedded TI CC2652RB的嵌入式编码。如何从uart接收字符串并将其保存在sd卡中?,embedded,Embedded,我正在使用TI launchpad CC2652RB。我必须从另一个微控制器接收数据,并将输入的数据存储到SD卡中。我能够成功接收数据,但无法将完整数据写入文件。只有最后一组收到的字节才会写入文件,即每次收到的新字符串都会覆盖以前写入的字符串。我将附加代码以供参考。我认为问题在于文件指针或缓冲区长度的使用\ void *alarmThread(void *arg0) { mqd_t *mqdes = arg0; int msg; UInt32 sleepTickCount; sleepT

我正在使用TI launchpad CC2652RB。我必须从另一个微控制器接收数据,并将输入的数据存储到SD卡中。我能够成功接收数据,但无法将完整数据写入文件。只有最后一组收到的字节才会写入文件,即每次收到的新字符串都会覆盖以前写入的字符串。我将附加代码以供参考。我认为问题在于文件指针或缓冲区长度的使用\

void *alarmThread(void *arg0)
{
 mqd_t *mqdes = arg0;
 int msg;
 UInt32 sleepTickCount;
 sleepTickCount = 100000 / Clock_tickPeriod;
 SDFatFS_Handle sdfatfsHandle;
 FILE *src;
 SDFatFS_init();
 add_device(fatfsPrefix, _MSA, ffcio_open, ffcio_close, ffcio_read, 
 ffcio_write, ffcio_lseek, ffcio_unlink, ffcio_rename);
 clock_settime(CLOCK_REALTIME, &ts);
 sdfatfsHandle = SDFatFS_open(CONFIG_SDFatFS_0, DRIVE_NUM);
 while (mq_receive(*mqdes, (char *)&msg, sizeof(msg), NULL) != -1)
 {
    src = fopen(inputfile, "w+");
    fseek(src,0,SEEK_END);
    //fwrite(&input, 1, 1, src);
    fwrite(textarray, 1, strlen(textarray), src);
    fwrite(buf, 1, strlen(buf), src);
    fflush(stdin);
    fclose(src);
    GPIO_write(CONFIG_GPIO_LED_0, CONFIG_GPIO_LED_ON);
    Task_sleep(sleepTickCount);
 }

 SDFatFS_close(sdfatfsHandle);

 return(0);
}

你的问题是什么还不清楚。您可以“查看数据”但不能“访问缓冲区”,这似乎是矛盾的。显示您的代码。并将您的问题拆分为子问题。明显的候选者正在读UART和写SD卡。是的,请检查我已经更正了问题。检查文件的打开模式
w+
可供书写和阅读,但您需要追加,不是吗?是的,我如何才能做到,请告诉我?