我可以缓冲我的数据,读取一个字节一个字节,并发送它们作为一个序列



我有一个GPS模块,我一次只能从i2c总线读取一个字节,所以我使用类似于这样的循环(这是一个示例代码):

#include <stdio.h>
#include <string.h>
int main (void)
{
    int i;
    char test[26];
    char sendbuf[40];
    for (i=0;i<26;i++) 
    {
        test[i]=i;
    }
}

我想把这些数据一起发送,而不是字节对字节。有没有办法把它们放在一个缓冲区中,然后一次发送它们,比如:

sprintf(sendbuf, "%s", test);

而不使用for(;;)?

您可以使用memcpy()

memcpy(sendbuf, test, sizeof(test));

我相信我找到了…

#include <stdio.h>
#include <string.h>

void main()
{
int i;
char buffer[20];
char cmd[20];
for(i = 0; i < 10; i++) {
    sprintf(buffer+i, "%d", i);
}
sprintf(cmd,"%s",buffer);
printf("%s", cmd);

printf("n");
}

相关内容

最新更新