ubuntu上使用485通信
生活随笔
收集整理的這篇文章主要介紹了
ubuntu上使用485通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前段時間發現把yolov3程序弄完之后,還得把485通信加上,這樣才能與遠端進行協調,達到通信的目的。不然只能再本地上面看看,顯然是不合理的。寫了個通信demo,初步能夠485進行收發的操作。
/*************************************************************************> File Name: client.c> Author: fqlovetb> Created Time: Wed 21 August 2019 03:45:21 PM ************************************************************************/#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #include <arpa/inet.h> #include <netinet/in.h>//5004 is to port1 //IP address 192.168.1.125 const int port = 5004; const char* ip = "192.168.1.125"; int main() {//create socket int clt_sock = socket(AF_INET, SOCK_STREAM, 0); if(clt_sock < 0){perror("socket");return 1;}//name is socket struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(port); //IPv4 addressaddr.sin_addr.s_addr = inet_addr(ip); //struct sockaddr_in peer;socklen_t addr_len = sizeof(addr);int connect_fd = connect(clt_sock, (struct sockaddr*)&addr, addr_len);if(connect_fd < 0){perror("connect");return 2;}char buf[1024];while(1){memset(buf, '\0', sizeof(buf));printf("client please enter: ");fflush(stdout);ssize_t size = read(0, buf, sizeof(buf) - 1);if(size > 0){buf[size - 1] = '\0';}else if(size == 0){printf("read is done...\n");break;}else{perror("read");return 4;}// printf("client: %s\n", buf);write(clt_sock, buf, strlen(buf));size = read(clt_sock, buf, sizeof(buf));if(size > 0){buf[size] = '\0';}else if(size == 0){printf("read is done...\n");break;}else {perror("read");return 5;}printf("server: %s\n", buf);}close(clt_sock);return 0; }?
總結
以上是生活随笔為你收集整理的ubuntu上使用485通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xmouse 修改鼠标侧面按钮
- 下一篇: 教程分享 | 如何获取港口网(全球船舶点