freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式linux編程基礎(chǔ)(參考版)

2025-05-16 06:45本頁(yè)面
  

【正文】 exit(0)。oldstdtio)。oldtio)。retval)。retval)。retval)。th_c, NULL, send, 0)。th_b, NULL, receive, 0)。th_a, NULL, keyboard, 0)。sa,NULL)。 = 0。//串口屬性設(shè)置立即生效。 tcsetattr(fd,TCSANOW,amp。 /* now clean the modem line and activate the settings for modem */ tcflush(fd, TCIFLUSH)。 [VMIN]=1。 /*input flag, 忽略幀和奇偶校驗(yàn)錯(cuò) */ = 0。 /* get working stdtio */ = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD。 /* save current modem settings */ tcgetattr(fd,amp。 tcgetattr(fd,amp。 } tcgetattr(0,amp。 if (fd 0) { perror(COM1)。 else fd = open(COM1, O_RDWR )。 void * retval。 int ok。 /* wait for child to die or it will bee a zombie */ } int main(int argc,char** argv) { struct termios oldtio,newtio,oldstdtio,newstdtio。 /* stdout */ usleep(100000)。 write(fd,amp。 while (STOP==FALSE) { c++。039。 return NULL。c,1)。c,1)。 printf(read modem\n)。} } return NULL。 if( c== ENDMINITERM){ STOP=TRUE。 for (。 STOP=TRUE。 volatile int fd。 isatty(STDIN_FILENO)。 read(fd, buff, BUFFER_SIZE)。 ? O_NDELAY標(biāo)志通知 Linux系統(tǒng),這個(gè)程序不關(guān)心 DCD信號(hào)線所處的狀態(tài)(端口的另一端是否激活或者停止)。 ? O_NOCTTY標(biāo)志用于通知 Linux系統(tǒng),該參數(shù)不會(huì)使打開(kāi)的文件成為這個(gè)進(jìn)程的控制終端。 } 串口使用 ( 1) ? 打開(kāi)串口 打開(kāi)串口和打開(kāi)普通文件一樣,使用 open()函數(shù)。new_cfg)) != 0) { perror(tcsetattr)。 ? TCSAFLUSH:所有已接受但未讀入的輸入都將在修改生效之前被丟棄。 參數(shù) optional_actions可能的取值有以下三種: ? TCSANOW:配置的修改立即生效。 tcsetattr(int fd, int optional_actions, const struct termios *termios_p)。 設(shè)置串口屬性的基本流程 ( 8) ? 激活配置 在完成全部串口配置之后,要激活剛才的配置并使配置生效。 ? TCIOFLUSH:包括前兩種功能,即對(duì)尚未處理的輸入輸出數(shù)據(jù)進(jìn)行清空處理。 ? TCIFLUSH:對(duì)接收到而未被讀取的數(shù)據(jù)進(jìn)行清空處理。 /* 用于清空輸入 /輸出緩沖區(qū) */ 設(shè)置串口屬性的基本流程 ( 7) ? 在本實(shí)例中使用 tcflush()函數(shù),對(duì)于在緩沖區(qū)中的尚未傳輸?shù)臄?shù)據(jù),或者收到的但是尚未讀取的數(shù)據(jù)進(jìn)行處理。 /* 使程序阻塞,直到輸出緩沖區(qū)的數(shù)據(jù)全部發(fā)送完畢 */ int tcflow(int fd, int action) 。 [VMIN] = 0。 /* 將停止位設(shè)置為一個(gè)比特 */ |= CSTOPB。以下分別是停止位為一個(gè)和兩個(gè)時(shí)的代碼: amp。 設(shè)置串口屬性的基本流程 ( 5) ? 設(shè)置停止位 設(shè)置停止位是通過(guò)激活 c_cflag中的 CSTOPB而實(shí)現(xiàn)的。= ~PARODD。 |= PARENB。 |= INPCK。首先要激活 c_cflag中的校驗(yàn)位使能標(biāo)志 PARENB和是否要進(jìn)行偶校驗(yàn),同時(shí)還要激活 c_iflag中的對(duì)于輸入數(shù)據(jù)的奇偶校驗(yàn)使能( INPCK)。 /* 用數(shù)據(jù)位掩碼清空數(shù)據(jù)位設(shè)置 */ |= CS8。 amp。 cfsetospeed(amp。 cfsetispeed(amp。 設(shè)置波特率的主要函數(shù)有: cfsetispeed()和 cfsetospeed()。new_cfg)。 |= CLOCAL | CREAD。 } 設(shè)置串口屬性的基本流程 ( 2) ? 激活選項(xiàng) CLOCAL和 CREAD分別用于本地連接和接收使能,因此,首先要通過(guò)位掩碼的方式激活這兩個(gè)選項(xiàng)。old_cfg) != 0) { perror(tcgetattr)。該函數(shù)還可以測(cè)試配置是否正確、該串口是否可用等。old_cfg)。 termios_pc_cflag |= CS8。 termios_pc_cflag amp。 termios_pc_lflag amp。 termios_pc_oflag amp。 termios_pc_iflag amp。在這個(gè)模式下,終端是不可回顯的,而且所有特定的終端輸入 /輸出控制處理不可用。 終端模式( 3) 原始模式 ? 按照嚴(yán)格意義來(lái)講原始模式是 一種特殊的非規(guī)范模式 。 ? MIN 0和 TIME 0:當(dāng)有 MIN個(gè)字節(jié)可讀或者兩個(gè)輸入字符之間的時(shí)間間隔超過(guò) TIME個(gè)十分之一秒時(shí), read()函數(shù)才返回。 ? MIN = 0和 TIME 0:只要有數(shù)據(jù)可讀或者經(jīng)過(guò) TIME個(gè)十分之一秒的時(shí)間, read()函數(shù)則立即返回,返回值為被讀取的字節(jié)數(shù)。若有可讀數(shù)據(jù),則讀取數(shù)據(jù)并返回被讀取的字節(jié)數(shù),否則讀取失敗并返回 0。設(shè)置可以有 4種不同的情況。 終端模式( 2) 非規(guī)范模式 ? 在非規(guī)范模式下,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1