• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Tiny上使用串口助手发送字符串问题

xhuaihe 2017-04-28 浏览量:894
在RTX51 Tiny上获取串口调试助手输入的信息,比如“modify time\n”,直接跳过②getline()函数。
请问这个怎么解决?
getline()函数就是KEIL里面的文件。​

getline(ptr, sizeof(input_buffer));	//①
for(i = 0 ; i < sizeof(input_buffer) ; i++)
{
	if(*(ptr + i) == '\n')
	{	
		*(ptr + i) = 0;
		break;
	}
}

if( (strcmp (ptr, "modify time") == 0 )   )
{		
	while(1)
	{
		getline(ptr, sizeof(input_buffer));    //②
		os_send_signal(TASK_TIME);
		os_wait(K_SIG , 0 , 0);
		printf("\nModification is completed! \n");
		break;
	}
	printf(".......END! \n");
}

头文件包含
#include <STC12C5A60S2.h>
#include <rtx51tny.h>

void getline (char xdata * data ptr, char);  /* external function:  input line       */
void serial_init (void);            /* external function:  init serial UART */

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 嗨,應該是這樣

    	if(*(ptr + i) == '\n')
    	{	
    		*(ptr + i) = '\0';
    		break;
    	}
    再次編譯看看

    以上

xhuaihe 回复了 MOP:谢谢,待回去试试 回复
xhuaihe 回复了 MOP:还是不行哎,直接跳过了 回复
MOP 回复了 xhuaihe:您Debug session時候 step有跳過這一行? 如果是可能要看整份Code了^^" 回复
MOP 回复了 xhuaihe:我猜測可能函數實現上 Buffer滿了會影響邏輯,但要看實際Code才知道 回复

其他答案 数量:0

相关问题

问题达人换一批

Tiny上使用串口助手发送字符串问题