Linux下的串口通訊調試工具,程序代碼示例

嵌入式領域,串口通訊是使用非常多的一種通訊協議了,所以一塊串口通訊調試工具自然必不可少。

這裏主要是針對的嵌入式Linux系統,ubuntu之類的網上有很多,就不需要看下面的了。

環境:Linux + c/c++

說明:啓動後,選擇read或者write模式,整個通訊是基於16進制解析的,不支持其他的哦。

write效果如下圖:

read效果如下圖:

核心代碼:

if(read_write == "read" || read_write == "r")
		{
			while(1)
			{
				nread = read(fd, recvbuf, RECVBUF_SIZE);
				if(nread > 0)
				{
					printf("recv data %d byte(s): ", nread);
					for(i=0; i<nread; i++) 
                    {
						printf("%02x ", recvbuf[i]);
					}
					printf("\n");
				}
			}
		}
	
		if(read_write == "write" || read_write == "w")
		{
			while (1)
			{
				printf("input you data:");
				getline(cin,write_date);
				stringstream ss_write(write_date);
				int num_write = 0;
				unsigned char temp_char_write;
				string temp_string_write;
				while (getline(ss_write, temp_string_write, ' '))
				{
					temp_char_write = strtol(temp_string_write.c_str(),NULL,16);					
					sendbuf[num_write] = temp_char_write;
					// printf("%02x, ", sendbuf[num_write]);
					num_write++;
				}		
				write(fd, sendbuf, num_write);
			}
		}

需要完整代碼的童鞋請留言郵箱。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章