Linux下C語言串口應用編程,Linux下串口C語言編程

62e50291a81fc54b507f33cb80033297.gif Linux下串口C語言編程

(5頁)

2324cbbabaafbcc21606557a95df3034.png

本資源提供全文預覽,點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧,查找使用更方便哦!

9.9 積分

串口操作代碼#include #include #include #include #include #include #include #include #include #define BUFFER_SIZE 1024#define HOST_PORT 1int set_port(int fd, int baud_rate, int data_bits, char parity, int stop_bits){ struct termios newtio,oldtio; if( tcgetattr(fd,&oldtio) != 0) { perror("Setup Serial 1"); return -1; } bzero(&newtio,sizeof(newtio)); newtio.c_cflag |= CLOCAL | CREAD; newtio.c_cflag &= ~CSIZE; /* set baud_speed*/ switch(baud_rate) { case 2400: cfsetispeed(&newtio,B2400); cfsetospeed(&newtio,B2400); break; case 4800: cfsetispeed(&newtio,B4800); cfsetospeed(&newtio,B4800); break; case 9600: cfsetispeed(&newtio,B9600); cfsetospeed(&newtio,B9600); break; case 19200: cfsetispeed(&newtio,B19200); cfsetospeed(&newtio,B19200); break; case 38400: cfsetispeed(&newtio,B38400); cfsetospeed(&newtio,B38400); break; default: case 115200: cfsetispeed(&newtio,B115200); cfsetospeed(&newtio,B115200); break; } /* set data_bits upon 7 or 8*/ switch(data_bits) { case 7: newtio.c_cflag |= CS7; break; default : case 8: newtio.c_cflag |= CS8; break; } /**/ switch(parity) { default: case 'N': case 'n': { newtio.c_cflag &= ~PARENB; newtio.c_iflag &= ~INPCK; } break; case 'o': case 'O': { newtio.c_cflag |= (PARODD | PARENB); newtio.c_iflag |= INPCK; } break; case 'e': case 'E': { newtio.c_cflag |= PARENB; newtio.c_cflag &= ~PARODD; newtio.c_iflag |= INPCK; } break; case 's': case 'S': { newtio.c_cflag &= ~PARENB; newtio.c_cflag &= ~CSTOPB; } break; } /*set stop_bits 1 or 2 */ switch(stop_bits) { default: case 1: { newtio.c_cflag &= ~CSTOPB; } break; case 2: { newtio.c_cflag |= CSTOPB; } break; } newtio.c_cc[VTIME] = 0; newtio.c_cc[VMIN] = 1; tcflush(fd,TCIFLUSH); if((tcsetattr(fd,TCSANOW,&newtio)) != 0) { perror("com set error"); return -1; } printf("set UART done!\n"); return 0;}int open_port(int com_port){ int fd = 0; char *dev[] = { 關?鍵?詞: Linux 串口 語言 編程

524d6daf746efaa52c3c71bbfe7ba172.gif ?天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375966.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375966.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375966.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

順序查找 折半查找

順序查找 算法描述 順序比較即可。 平均查找長度 (n1)/2, 其中n為表長。 時間復雜度 O(n) #include "stdio.h" typedef struct student{int id; /*學生編號*/char name[10]; /*…

linux c實現一個簡單的sniffer

參考陳兵老師的《網絡安全》一書 環境&#xff1a;kali linuxgcc 6.xx 具體的實現原理是&#xff0c;先將自己的網卡設置為混雜模式&#xff0c;然后從特殊的套接字中讀取以太網幀&#xff0c;對讀取的以太幀進行篩選、去報頭。得到我們想要的數據。 #include<stdio.h>…

Java12題:發獎金問題

題目&#xff1a;企業發放的獎金根據利潤提成。利潤(I)低于或等于10萬元時&#xff0c;獎金可提10%&#xff1b;利潤高于10萬元&#xff0c;低于20萬元時&#xff0c;低于10萬元的部分按10%提成&#xff0c;高于10萬元的部分&#xff0c;可可提成7.5%&#xff1b;20萬到40萬之間…

Linux第一條指令地址,arm-linux 啟動代碼分析——stage1 (1)

本文針對arm linux, 從kernel的第一條指令開始分析,一直分析到進入start_kernel()函數.我們當前以linux-2.6.19內核版本作為范例來分析,本文中所有的代碼,前面都會加上行號以便于和源碼進行對照.例:在文件init/main.c中:00478: asmlinkage void __init start_kernel(void)前面的…

C#--序列化與反序列化

引用: 序列化與反序列化 解釋: 序列化,就是將一個對象保存到文件中去,而反序列化就是將該文件重新保存為一個對象. 序列化的三種方式: 1.BinaryFormatter class BinarySerialize : ISerialize{FileStream fs;string filepath "D:/1/1.txt";public void Serialize(Bo…

開啟linux ssh

kali linux在開機的時候ssh服務是默認關閉的&#xff0c;可通過以下方法開啟服務

Android中實現全屏、無標題欄的兩種辦法(另附Android系統自帶樣式的解釋)(轉)...

實現全屏無標題欄&#xff1a; 1.在xml文件中進行配置 AndroidManifest.xml中&#xff0c;找到需要全屏或設置成無標題欄的Activity&#xff0c;在該Activity進行如下配置即可。 實現全屏效果&#xff1a; android:theme"android:style/Theme.NoTitleBar.Fullscreen"…

格式化linux grub,linux grub 引導啟動過程詳解

機器加電啟動后,BIOS開始檢測系統參數,如內存的大小,日期和時間,磁盤設備以及這些磁盤設備用來引導的順序,通常情況下&#xff0c;BIOS都是被配置成首先檢查軟驅或者光驅(或兩者都檢查)&#xff0c;然后再嘗試從硬盤引導。如果在這些可移動的設備中&#xff0c;沒有找到可引導的…

DevExpress GridControl 后臺設置列

/// <summary>/// 初始化GridView /// </summary>/// <param name"gv">GridView 名稱</param>/// <param name"captions">列標題</param>/// <param name"fieldName">列字段</param>/// <pa…

linux c實現myecho、mycat、mycp

myecho、mycat、mycp分別用于模擬系統命令echo、cat、cp 代碼如下&#xff1a; myecho #include<stdlib.h> #include<stdio.h> int main(int argc,char *argv[]){if(argc1){printf("Error:need parameter!\n");exit(0);}for(int i1;i<argc;i)print…

Emmet快速開發

標簽元素關系展開 div.wrap>div.content>(div.inner_ldiv.inner_r)^div.sider------縮寫展開如下----------------------------------------------<div class"wrap"><div class"content"><div class"inner_l"></div&…

IOS 基于APNS消息推送原理與實現(JAVA后臺)

Push的原理&#xff1a;Push 的工作機制可以簡單的概括為下圖圖中&#xff0c;Provider是指某個iPhone軟件的Push服務器&#xff0c;這篇文章我將使用.net作為Provider。APNS 是Apple Push Notification Service&#xff08;Apple Push服務器&#xff09;的縮寫&#xff0c;是蘋…

suse linux 查看cpu,Suse Linux zmd 耗用100% CPU

最近的SUSE Linux 10(SP3)的top命令總是顯示zmd進程耗用了100%的CPU資源&#xff0c;而整個系統中system級別占用CPU則占用了40%以上且根本不曾釋放。嘗試重啟服務器之后&#xff0c;故障依舊。下面是這個問題的描述與處理。1、top命令顯示zmd cpu占用100%&#xff0c;system u…

linux系統調用open、write、close、read以及stat函數詳解

學習筆記 參考鏈接1 、參考鏈接2以及百度百科 在進行C語言學習的時候我們了解到了C語言相關的一些IO操作&#xff0c;如fopen&#xff0c;fwrite&#xff0c;fread&#xff0c;fprintf&#xff0c;fclose等相關函數&#xff0c;他們都是由C庫函數提供的一些函數&#xff0c;是…

關于objective-c的一點隨筆

多日混跡cocoachina&#xff0c;這篇隨筆算是積累點前人經驗吧。 首先&#xff0c;要多逛兩個很好的網站&#xff0c;Stack Overflow和github. 對于新人&#xff0c;一定要注意良好的格式和命名&#xff0c;不然對于日后回頭看代碼會非常難&#xff0c;oc不限制變量名稱和函數名…

【轉載】Ubuntu環境下配置Android Studio

之前學習Android開發的時候&#xff0c;一直跟各種教程一樣&#xff0c;使用的是EclipseADT&#xff0c;主要是比較方便&#xff0c;容易上手&#xff0c;特別是對于習慣用Eclipse開發java的朋友來說&#xff0c;上手更是好無壓力。但畢竟EclipseADT最多只能算Google的干兒子&a…

linux怎么進去vi編輯器,red hat enterprise linux開機怎么進入vi編輯器界面?

2015-05-21 回答后面輸入直接打回車就會顯示出來如下xx文件#■sa■jsadjk#■sa■jsklfjdl kl■sa&#xff1a;----現在是低行模式 現在按esc 進入第一個模式(命令模式)就變成下面xx文件#dsadjsadjk#dsadjsklfjdl kldsa現在我們按個v 就進入可是模式 現在我們一個移動光標選擇要…

數據結構--鏈式線性表

環境&#xff1a;dev c #include<stdio.h> #include<stdlib.h>typedef struct LNode *List; typedef int ElementType;struct LNode{ElementType Data;List next; };int Length(List Ptrl); List FindKth(int k,List Ptrl); List Find(ElementType x,List Ptrl); …

linux査 到漠河 裝apache,如何在Ubuntu上搭建一臺安全的Apache?Web服務器

滿意答案1.安裝Apache2使用下面這個命令&#xff0c;安裝Apache2及其他庫。1$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli…

vs2010 中添加 ActiveX Control Test Container工具

vs2010中的TSTCON( ActiveX Control Test Container )工具非自動安裝&#xff0c;而是作為一個例程提供。所以應找到該例程&#xff0c;并編譯&#xff1a; 如vs2010安裝在默認路徑則 1, 進入&#xff1a;C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033&#xff…