【发布时间】:2014-08-01 22:30:51
【问题描述】:
我被这个程序函数卡住了,我不知道为什么这个 memcpy 函数不能将字符复制到 local_buf。我在 Visual Studio 中尝试过它工作正常,但是当我在基于 c 的微控制器 SDK 中使用它时,它不起作用,或者如果工作,则复制一些垃圾值。
我找不到任何错误,很多人都在做同样的事情,有没有其他更好的方法来做这件事或在低级程序中提出一些建议而不是 memcpy
static void Transmit_Async(void)
{
char local_buff[10];
int i;
for(i=0;i<10;i++)
{
if(buffer[i]=='\r')
{
memcpy(local_buff,buffer,i);
memset(buffer,0,sizeof(buffer));
}
}
if(local_buff=='N')
{
Text_Write("N12345678\r");
memset(local_buff,0,sizeof(local_buff));
}
if(local_buff=='C')
{
Text_Write("\r");
memset(local_buff,0,sizeof(local_buff));
}
if(local_buff=='V')
{
Text_Write("9865");
memset(local_buff,0,sizeof(local_buff));
}
LED0 = LED_ON;
LED1 = LED_OFF;
}
【问题讨论】:
-
local_buff=='...'似乎很可疑。 -
我们可以看看你对
buffer的定义吗?
标签: c serial-port microcontroller