欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

      <small id='iho6tue4'></small><noframes id='wqsgynom'>

      1. <legend id='3y9ti4mt'><style id='pqumb1uu'><dir id='ih4yzu3k'><q id='uiy2yi1p'></q></dir></style></legend>
      2. <tfoot id='fbdw4o6r'></tfoot>

          <bdo id='94fmm82d'></bdo><ul id='0oh8byfo'></ul>
        <i id='zb1df4zn'><tr id='cxijkw1y'><dt id='fe8ht77c'><q id='eh43symp'><span id='kohofag9'><b id='ry0ydkcw'><form id='cv1zxzoh'><ins id='3mg5fc7a'></ins><ul id='g4ctruby'></ul><sub id='30rxovyo'></sub></form><legend id='2zxnnmx9'></legend><bdo id='bflzjb9b'><pre id='mye6ykvu'><center id='548xlw07'></center></pre></bdo></b><th id='3fpyz0ge'></th></span></q></dt></tr></i><div class="c8jzdxauzz" id='3vewfqgb'><tfoot id='3tzvngei'></tfoot><dl id='41jis183'><fieldset id='9s7lc21a'></fieldset></dl></div>
        歡迎來到入門教程網(wǎng)!

        Linux/apache

        當(dāng)前位置:主頁 > 服務(wù)器 > Linux/apache >

        linux關(guān)閉串口命令 關(guān)閉linux端口命令

        來源:本站原創(chuàng)|時(shí)間:2023-04-02|欄目:Linux/apache|點(diǎn)擊: 次

        linux中有沒有替代windows串口編程中SetCommBreak()與ClearCommBreak()?

        (一)Windows API串口通信編程概述

        Windows環(huán)境下的串口編程與DOS環(huán)境下的串口編程有很大不同。Windows環(huán)境下的編程的最大特征之一就是設(shè)備無關(guān)性,它通過設(shè)備驅(qū)動(dòng)程序?qū)indows應(yīng)用程序同不同的外部設(shè)備隔離。Windows封裝了Windows的通信機(jī)制,這種方式稱為通信API,Windows程序可以利用Windows通信API進(jìn)行編程,不用對(duì)硬件直接進(jìn)行操作。這種體系被稱為Windows開放式服務(wù)體系(WOSA,Windows Open Services Architectures)。

        早期的Windows3.x與Windows 9x/NT/2000的通信API有很大不同,在16位的串行通信程序中,一般使用16位的Windows API通信函數(shù)。為使大家對(duì)串口通信有一全面的理解,下面簡(jiǎn)單介紹一下16位的Windows API通信函數(shù):

        (1) 打開和關(guān)閉串口

        OpenComm()打開串口資源,并指定輸入、輸出緩沖區(qū)的大小(以字節(jié)計(jì));

        CloseComm()關(guān)閉串口;

        例:

        int idComDev;

        idComdev=OpenComm(“COM1”,1024,512);

        CloseComm(idComDev);

        (2) 初始化串口

        BuildCommDCB()、setCommState()填寫設(shè)備控制塊DCB,然后對(duì)已打開的串口進(jìn)行參數(shù)配置,例:

        DCB dcb;

        BuildCommDCB(〝COM1:2400,n,8,1〞,dcb);

        SetCommState(dcb);

        (3) 對(duì)串口進(jìn)行讀寫

        ReadComm、WriteComm()對(duì)串口進(jìn)行讀寫操作,即數(shù)據(jù)的接收和發(fā)送。例:

        char *m_pReceive; int count;

        ReadComm(idComDev,m_pReceive,count);

        Char wr[30]; int count2;

        WriteComm(idComDev,wr,count2);

        通過對(duì)以上的描述我們可以看出,16位以下的串口通信程序最大的特點(diǎn)就在于串口等外部設(shè)備的操作有自己特有的API函數(shù)。

        Windows 9x/NT/2000中的API一般都支持32位的操作,因此又稱為Win32API。為了在上述系統(tǒng)中實(shí)現(xiàn)串行數(shù)據(jù)傳送,可以使用Win32通信API。Win32通信API基本上是一個(gè)串行端口API,不是很適合于局域網(wǎng)(LAN)通信。雖然在線路上發(fā)送數(shù)據(jù)之前,LAN通常將數(shù)據(jù)位串行化,這和窗口或調(diào)制解調(diào)器發(fā)送數(shù)據(jù)之前所作的工作一模一樣,但局域網(wǎng)使用的線路的位數(shù)通常比串口少,而且還使用與串口協(xié)議很少有類似之處的訪問、路由、安全性和糾錯(cuò)協(xié)議。局域網(wǎng)通信所需要的協(xié)議層使得Win32通信API對(duì)于這些應(yīng)用來說很不理想。因此,在網(wǎng)絡(luò)通信和連接方面,TCP/IP協(xié)議要比Win32通信API更適合一些。

        Windows操作系統(tǒng)是一個(gè)可搶占式的操作系統(tǒng),所以Windows應(yīng)用程序常常有被別的程序搶占時(shí)間片的可能,因此Win32通信API也不能用于實(shí)時(shí)通信。實(shí)時(shí)通信的質(zhì)量與時(shí)間密切相關(guān)。例如,數(shù)字化音頻數(shù)據(jù)是實(shí)時(shí)數(shù)據(jù),因?yàn)樵捯舻馁|(zhì)量依賴于 它的速率。在錄制音頻時(shí),它就以某個(gè)速度被數(shù)字化了,該速度就是人們所熟知的采樣速率。聲音必須以相同的采樣率重放,否則聽起來就會(huì)太慢或太快。實(shí)際中的視頻 ,也不是實(shí)時(shí) ,那僅僅是存放在緩沖中的那部分?jǐn)?shù)據(jù)。因此,不需要許多協(xié)議層的交互式、非實(shí)時(shí)的通信可以采用Win32通信API來實(shí)現(xiàn)。Win32通信API把串口操作(以及并口等)和文件操作統(tǒng)一起來了,使用類似的操作來實(shí)現(xiàn)。

        (二) Windows串口通信相關(guān)API函數(shù)

        “工欲善其事,必先利其器”,這一節(jié)將從使用的角度出發(fā),對(duì)和串口通信相關(guān)的32位的Windows API函數(shù)進(jìn)行介紹,力圖使你們對(duì)其有個(gè)全面、準(zhǔn)確的認(rèn)識(shí)。

        2.1 打開和關(guān)閉串口

        1. 打開串口

        在32位的Windows系統(tǒng)中,串口和其它通信設(shè)備是作為文件處理的。串口的打開、關(guān)閉、讀取和寫入所用的函數(shù)與操作文件的函數(shù)完全一致。

        通信會(huì)話以調(diào)用CreateFile()開始。CreateFile()為讀訪問、寫訪問或讀寫訪問“打開”串口。按照Windows的通常做法,CreateFile()返回一個(gè)句柄,隨后在打開的端口的操作中使用CreateFile()函數(shù)非常復(fù)雜,復(fù)雜性的原因之一是它是通用的。可以使用CreateFile打開已存在的文件,創(chuàng)建新文件和打開根本就不是文件的設(shè)備,例如串口、并口和調(diào)制解調(diào)器。CreateFile()函數(shù)聲明如下:

        HANDLE CreateFile(

        LPCTSTR lpszName,

        DWORD fdwAccess,

        DWORD fdwShareMode,

        LPSECURITY_ATTRIBUTES lpsa,

        DWORD fdwCreate,

        DWORD fdwAttrsAndFlags,

        HANDLE hTemplateFile

        )

        CreateFile函數(shù)中的參數(shù)解釋如下:

        ·lpszName:指定要打開的串口邏輯名,用字符串表示,如“COM1”和“COM2”分別表示串口1和串口2。

        ·fdwAccess:用來指定串口訪問的類型。與文件一樣,串口也是可以被打開以供讀取、寫入或者兩者兼有。

        GENERIC_READ位讀取訪問打開端口,GENERIC_READ位寫訪問打開端口。這兩個(gè)常數(shù)定義如下:

        const GENERIC_READ = 0x80000000h;

        const GENERIC_WRITE = 0x40000000h;

        用戶可以用邏輯操作將這兩個(gè)標(biāo)識(shí)符連接起來,為讀/寫訪問權(quán)限打開端口。因?yàn)榇蟛糠执谕ㄐ哦际请p向的,因此常常在設(shè)置中將兩個(gè)標(biāo)識(shí)符連接起來使用。如:

        fdwAccess = GENERIC_READ | GENERIC_WRITE;

        ·fdwShareMode:指定該端口的共享屬性。該參數(shù)是為那些由許多應(yīng)用程序共享的文件提供的。對(duì)于不能共享的串口,它必須設(shè)置為0。這就是文件與通信設(shè)備之間的主要差異之一。如果在當(dāng)前的應(yīng)用程序調(diào)用CreateFile()時(shí),另一個(gè)應(yīng)用程序已經(jīng)打開了串口,該函數(shù)就會(huì)返回錯(cuò)誤代碼,原因是兩個(gè)應(yīng)用程序不能共享一個(gè)端口。然而,同一個(gè)應(yīng)用程序的多個(gè)線程可以共享由CreateFile()返回的端口句柄,并且根據(jù)安全性屬性設(shè)置,該句柄可以被打開端口的應(yīng)用程序的子程序所繼承。

        ·Ipsa:引用安全性屬性結(jié)構(gòu)(SECURITY_ARRTIBUTES),該結(jié)構(gòu)定義了一些屬性,例如通信句柄如何被打開端口的應(yīng)用程序的子程序所繼承。將該參數(shù)設(shè)置為NULL將為該端口分配缺省的安全性屬性。子應(yīng)用程序所繼承的缺省屬性是該端口不能被繼承的。

        安全屬性結(jié)構(gòu)SECURITY_ARRTIBUTES結(jié)構(gòu)聲明如下:

        typedef struct_SECURITY_ARRTIBUTE {

        DWORD nLength;

        LPVOID lpSecurityDescriptor;

        BOOL bInheritHandle;

        } SECURITY_ARRTIBUTE;

        SECURITY_ARRTIBUTES結(jié)構(gòu)成員nLength指明該結(jié)構(gòu)的長(zhǎng)度,lpSecurityDescriptor指向一個(gè)安全描述字符,bInheritHandle表明句柄是否能被繼承。

        ·fdwCreate:指定如果CreateFile()正在被已有的文件調(diào)用時(shí)應(yīng)采取的動(dòng)作。因?yàn)榇诳偸谴嬖冢琭dwCreate必須設(shè)置成OPEN_EXISTING。該標(biāo)志告訴Windows不用企圖創(chuàng)建新端口,而是打開已經(jīng)存在的端口。OPEN_EXISTING常數(shù)定義為:

        const OPEN_EXISTING = 3;

        ·fdwAttrsAndFlags:描述了端口的各種屬性。對(duì)于文件來說,有可能具有很多屬性,但對(duì)于串口,唯一有意義的設(shè)置是FILE_FLAG_OVERLAPPED。當(dāng)創(chuàng)建時(shí)指定該設(shè)置,端口I/O可以在后臺(tái)進(jìn)行(后臺(tái)I/O也叫異步I/O)。FILE_FLAG_OVERLAPPED常數(shù)定義如下:

        const FILE_FLAG_OVERLAPPED = 0x40000000h

        ·hTemplateFile:指向模板文件的句柄,當(dāng)端口處于打開狀態(tài)時(shí),不使用該參數(shù),因而必須置成0。

        調(diào)用CreateFile()函數(shù)打開COM1串口操作的例子如下所示:

        HANDLE hCom;

        DWORD dwError;

        hCom=CreateFile(“COM1”, // 文件名

        GENERIC_READ | GENERIC_WRITE, // 允許讀和寫

        0, // 獨(dú)占方式

        NULL,

        OPEN_EXISTING, // 打開而不是創(chuàng)建

        FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, // 重疊方式

        NULL

        );

        if(hCom = = INVALID_HANDLE_VALUE)

        {

        dwError=GetLastError(); // 處理錯(cuò)誤

        }

        一旦端口處于打開狀態(tài),就可以分配一個(gè)發(fā)送緩沖區(qū)和接收緩沖區(qū),并且通過調(diào)用SetupComm()實(shí)現(xiàn)其它初始化工作。也可以不調(diào)用SetupComm()函數(shù),Windows系統(tǒng)也會(huì)分配缺省的發(fā)送和接收緩沖區(qū),并且初始化端口。但為了保證緩沖區(qū)的大小與實(shí)際需要的一致,最好還是調(diào)用該函數(shù)。SetupComm()函數(shù)聲明如下:

        BOOL SetupComm(

        HANDLE hFile, // 通信設(shè)備句柄

        DWORD dwInQueue, // 輸入緩沖區(qū)大小

        DWORD dwOutQueue // 輸出緩沖區(qū)大小

        );

        SetupComm()函數(shù)中各項(xiàng)含義說明如下:

        ·hFile: 由GreatFile()返回的指向已打開端口的句柄。

        ·dwInQueue和dwOutQueue: 接收緩沖區(qū)的大小和發(fā)送緩沖區(qū)的大小。這兩個(gè)定義并非是實(shí)際的緩沖區(qū)的大小,指定的大小僅僅是“推薦的”大小,而Windows可以隨意分配任意大小的緩沖區(qū)。Windows設(shè)備驅(qū)動(dòng)程序可以獲得這兩個(gè)數(shù)據(jù),并不直接分配大小,而使用來優(yōu)化性能和避免緩沖區(qū)超限。

        注意:當(dāng)使用CreateFile()函數(shù)打開串口時(shí):為實(shí)現(xiàn)調(diào)制解調(diào)器的排他性訪問,共享標(biāo)識(shí)必須設(shè)為零;創(chuàng)建標(biāo)識(shí)必須設(shè)為OPEN_EXISTING;模板句柄必須置為空。

        2. 關(guān)閉串口

        關(guān)閉串口比打開串口簡(jiǎn)單得多,只需要調(diào)用CloseHandle()函數(shù)關(guān)閉由CreateHandle()函數(shù)返回得句柄即可。

        CloseHandle函數(shù)聲明如下:

        BOOL CloseHandle(

        HANDLE hObject // 需關(guān)閉的設(shè)備句柄

        );

        使用串口時(shí)一般要關(guān)閉它,如果忘記關(guān)閉串口,串口就會(huì)始終處于打開狀態(tài),其它應(yīng)用程序就不能打開并使用串口了。

        附上出處鏈接:

        我想關(guān)閉LINUX系統(tǒng)上的某個(gè)端口,請(qǐng)問相關(guān)命令是什么?詳細(xì)一點(diǎn)的,謝謝。

        前提:首先你必須知道,端口不是獨(dú)立存在的,它是依附于進(jìn)程的。某個(gè)進(jìn)程開啟,那么它對(duì)應(yīng)的端口就開啟了,進(jìn)程關(guān)閉,則該端口也就關(guān)閉了。下次若某個(gè)進(jìn)程再次開啟,則相應(yīng)的端口也再次開啟。而不要純粹的理解為關(guān)閉掉某個(gè)端口,不過可以禁用某個(gè)端口。

        1. 可以通過"~$ netstat -anp" 來查看哪些端口被打開。

        (注:加參數(shù)'-n'會(huì)將應(yīng)用程序轉(zhuǎn)為端口顯示,即數(shù)字格式的地址,如:nfs-2049, ftp-21,因此可以開啟兩個(gè)終端,一一對(duì)應(yīng)一下程序所對(duì)應(yīng)的端口號(hào))

        2. 然后可以通過"~$ lsof -i:$PORT"查看應(yīng)用該端口的程序($PORT指對(duì)應(yīng)的端口號(hào))?;蛘吣阋部梢圆榭次募?etc/services,從里面可以找出端口所對(duì)應(yīng)的服務(wù)。

        (注:有些端口通過netstat查不出來,更可靠的方法是"~$ sudo nmap -sT -O localhost")

        3. 若要關(guān)閉某個(gè)端口,則可以:

        1)通過iptables工具將該端口禁掉,如:

        "~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"

        "~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"

        2)或者關(guān)掉對(duì)應(yīng)的應(yīng)用程序,則端口就自然關(guān)閉了,如:

        "~$ kill -9 PID" (PID:進(jìn)程號(hào))

        如: 通過"~$ netstat -anp | grep ssh"

        有顯示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh

        則: "~$ kill -9 7546"

        (可通過"~$ chkconfig"查看系統(tǒng)服務(wù)的開啟狀態(tài))

        本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:

        linux關(guān)閉tty的命令式什么?。?/h2>

        根據(jù)發(fā)行版不同有區(qū)別,以Redhat和CentOS為例:

        5以前的老版本修改/etc/inittab,注釋掉:

        2:2345:respawn:/sbin/mingetty tty2

        3:2345:respawn:/sbin/mingetty tty3

        4:2345:respawn:/sbin/mingetty tty4

        5:2345:respawn:/sbin/mingetty tty5

        6:2345:respawn:/sbin/mingetty tty6

        5及以后的新版本修改/etc/init/start-ttys.conf,找到:

        ACTIVE_CONSOLES=/dev/tty[1-6]

        修改為:ACTIVE_CONSOLES=/dev/tty1

        再修改/etc/sysconfig/init

        找到:

        ACTIVE_CONSOLES=/dev/tty[1-6]

        修改為:ACTIVE_CONSOLES=/dev/tty1

        重啟生效。

        Linux怎么把串口設(shè)置

        簡(jiǎn)單的運(yùn)行 dmesg 命令

        $ dmesg | grep tty

        輸出:

        [ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

        [ 37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

        [ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A

        setserial 命令

        setserial 是一個(gè)程序用于設(shè)定并/或報(bào)告某個(gè)串口關(guān)聯(lián)的配置信息。該信息包括串口用到的I/O 端口和中斷號(hào),以及Break鍵是否應(yīng)被解釋為Secure Attention Key 等等。 僅僅是輸出如下的命令:

        $ setserial -g /dev/ttyS[0123]

        輸出:

        /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

        /dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18

        /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

        /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

        帶-g選項(xiàng)的setserial幫助找到你的Linux板子上的物理串口。

        Linux 串口控制臺(tái)程序

        一旦串口被確定了,你就能使用許多的工具來配置Linux板子:

        minicom- 用于控制modem和連接到dump 設(shè)備的最好的串口通信程序。

        wvidial or other GUI dial up networking program - 一個(gè)內(nèi)建智能PPP 撥號(hào)器。

        getty / agetty - agetty 打開一個(gè) tty 端口, 提示登錄名稱并調(diào)用 /bin/login 命令。

        grub / lilo configuration - 配置串口為系統(tǒng)控制臺(tái)。

              <bdo id='73lnhxv4'></bdo><ul id='n6fsfn7l'></ul>
              <tfoot id='cpn3yitj'></tfoot>

            • <i id='6300pzfg'><tr id='m02l9wfx'><dt id='24p8qimn'><q id='r8x4gb69'><span id='67mlx9ip'><b id='aypl29hi'><form id='4ant9192'><ins id='9e54ebdo'></ins><ul id='yc6vvf49'></ul><sub id='7w0o5jr2'></sub></form><legend id='b2h8f8ei'></legend><bdo id='ljh01oak'><pre id='swtyup1i'><center id='wcecgeq2'></center></pre></bdo></b><th id='qfyxl8x3'></th></span></q></dt></tr></i><div class="c8jzdxauzz" id='mo7lsnn0'><tfoot id='o2ifo7kf'></tfoot><dl id='bk3fbfsn'><fieldset id='7n9lgnqq'></fieldset></dl></div>

              • <legend id='8knq9j8x'><style id='067cx1za'><dir id='rqdwv3tx'><q id='ju76lh8f'></q></dir></style></legend>
              • <small id='312ujj5x'></small><noframes id='bhpa3ryj'>

                    <tbody id='rhcp0zpd'></tbody>

                  上一篇:linux文件命令重命名 linux重命名文件名命令

                  欄    目:Linux/apache

                  下一篇:沒有了

                  本文標(biāo)題:linux關(guān)閉串口命令 關(guān)閉linux端口命令

                  本文地址:http://mengdiqiu.com.cn/a1/Linux_apache/17208.html

                  網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫(kù)服務(wù)器

                  如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

                  聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

                  Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有

                  <tfoot id='bwob011m'></tfoot>

                1. <small id='9rxqvjya'></small><noframes id='1dtp2ym3'>

                    <legend id='zd0gefte'><style id='v0r63493'><dir id='pob4y64f'><q id='r5k4jku7'></q></dir></style></legend>
                    <i id='5s7854fy'><tr id='v0q4ades'><dt id='b6g5hzet'><q id='mw4yh731'><span id='wdytoieo'><b id='ur2fbo2x'><form id='98j64xib'><ins id='hw7arlqi'></ins><ul id='mmbcxgco'></ul><sub id='e7vnedlr'></sub></form><legend id='cfl3rcq6'></legend><bdo id='da5aij7e'><pre id='mc4janto'><center id='wrm309gg'></center></pre></bdo></b><th id='0xhkvcva'></th></span></q></dt></tr></i><div class="c8jzdxauzz" id='hpaj67gb'><tfoot id='7dikvjes'></tfoot><dl id='aejyv9z9'><fieldset id='9bvmztyr'></fieldset></dl></div>

                      • <bdo id='1uirbrze'></bdo><ul id='cb43cvdd'></ul>