欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)串口校驗位的Mark/Space設置在英創(chuàng)主板中的應用

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-04 11:44 ? 次閱讀

英創(chuàng)Linux主板可以通過RS485總線掛載多個單片機組成多機系統(tǒng),如圖1所示,其中Linux主機作為上位機,單片機作為從機,485總線最多能掛載256個從機。系統(tǒng)工作的時候,每一個從機都有自己的地址(從機號),上位機首先發(fā)送從機的地址,再發(fā)送命令/數(shù)據(jù),其發(fā)送的命令/數(shù)據(jù)可以被每一個從機接收,從機收到命令和數(shù)據(jù)后,如果地址和自己的相符,就進行應答。

圖1 Linux主機與單片機組成的多機系統(tǒng)

圖2 多機通信幀格式

單片機每收到一個字節(jié)都要產(chǎn)生中斷,在一般情況下,當Linux主機向從機1發(fā)送數(shù)據(jù)的時候,從機2、3在每一個字節(jié)都要產(chǎn)生中斷,不論傳輸?shù)氖堑刂愤€是數(shù)據(jù),也不論是不是跟自己通信。當從機設備比較多、傳輸數(shù)據(jù)比較頻繁的時候,單片機的負載將大大增加,影響正常的工作。

比較通用的解決辦法是充分利用串口固定校驗位(Parity Stick)的功能,使用Mark/Space校驗位區(qū)分地址和數(shù)據(jù),如圖2所示的多機通信幀中,發(fā)送和接收地址字節(jié)時,可以使用Mark校驗(也可以使用Space校驗),發(fā)送和接收數(shù)據(jù)字節(jié)時,使用Space校驗(也可以使用Mark校驗)。系統(tǒng)初始化的時候,所有的從機都設置成Mark校驗,進入等待狀態(tài)。主機發(fā)送第一個字節(jié)(addr = 從機1)的時候使用Mark校驗。這時,所有的從機都收到了addr,并通過校驗產(chǎn)生中斷。在從機的中斷程序中,如果addr和自己的地址相符,就將從機設置成Space校驗(從機1),否則,繼續(xù)保持Mark校驗(從機2、3)。緊接著,主機發(fā)送data1、data2的時候使用Space校驗,這時,由于從機2、3不能通過Space校驗,將不會產(chǎn)生中斷,只有從機1會產(chǎn)生中斷,應答主機。這樣就大大降低了處于等待狀態(tài)的從機2、3的中斷負載。

對Linux目前的串口驅(qū)動程序而言,在邏輯上應用程序可以先設置一次Mark校驗位,write一個地址字節(jié),再設置一次Space校驗,接著write多個數(shù)據(jù)字節(jié)來實現(xiàn)多機通信。但是,兩次調(diào)用write之間可能會有較大的時間間隙,導致單片機接收數(shù)據(jù)超時,多機通信失敗。為此,英創(chuàng)公司專門修改了Linux串口驅(qū)動程序,在不增加新的API調(diào)用的前提下,只需要在應用程序中連續(xù)兩次設置校驗位即可使串口驅(qū)動進入ADDR_DATA_MODE模式,支持Mark/Space多機通信,并且將同一幀數(shù)據(jù)的addr、data連續(xù)發(fā)送出去(應用程序只調(diào)用一次write函數(shù))。應用程序具體步驟如下(為方便校驗位設置,編寫了一個校驗位設置函數(shù)):

1、校驗位設置函數(shù)

intCSerial::SetParity(intparity)

{

structtermios new_opt;

intstatus;

unsignedintold_ccflag;

tcgetattr(m_fd,&new_opt);

old_ccflag = new_opt.c_cflag;

new_opt.c_cflag &= ~PARODD ;

new_opt.c_cflag &= ~CMSPAR ;

if(parity == 0)

{

//使用Space校驗 標記數(shù)據(jù)

new_opt.c_cflag |= PARENB | CS8 | CMSPAR;

}

elseif(parity == 1)

{

//使用Mark校驗 標記地址

new_opt.c_cflag |= PARENB | CS8 | CMSPAR | PARODD;

}

elseif(parity == 2)

{ //使用偶校驗

new_opt.c_cflag |= PARENB; /* Enable parity */

new_opt.c_cflag &= ~PARODD; /* 轉(zhuǎn)換為偶效驗*/

}

elseif(parity == 3)

{

//使用奇校驗

new_opt.c_cflag |= (PARODD | PARENB); /* 設置為奇效驗*/

}

else

{

new_opt.c_cflag = old_ccflag;

}

status = tcsetattr(m_fd,TCSANOW,&new_opt);

returnstatus;

}

2、主程序兩次調(diào)用校驗位設置函數(shù),進入ADDR_DATA_MODE模式

Buf[0] = 0x39;

Buf[1] = 0xC1;

Buf[2] = 0x80;

Buf[3] = 0x1;

Buf[4] = 0x0;

//連續(xù)兩次設置校驗位,進入ADDR_DATA_MODE.

//先設置數(shù)據(jù)使用的校驗位,后設置地址使用的校驗位

m_Serial.SetParity(0); //數(shù)據(jù)使用space校驗

m_Serial.SetParity(1); //地址使用mark校驗

sleep(1);

m_Serial.WritePort( Buf, 5 );

如上程序?qū)?個字節(jié)一起發(fā)送出去,其中Buf[0]作為地址,使用mark校驗,Buf[1-4]作為數(shù)據(jù),使用space校驗,波形如圖3所示。所有從機收到地址后,都通過校驗位,產(chǎn)生中斷,但僅地址為0x39的從機會將自己的校驗位設置為0。之后Buf[1-4]僅有從機0x39能夠產(chǎn)生接收中斷,應答主機。

發(fā)送完這5個字節(jié)后,就退出了ADDR_DATA_MODE模式,繼續(xù)串口發(fā)送的所有字節(jié)都使用space校驗(先設置的校驗位)。如果需要其他校驗方式,可以調(diào)用SetParity()進行設置。

圖3 ADDR_DATA_MODE發(fā)送波形圖

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11350

    瀏覽量

    210477
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6086

    瀏覽量

    35638
收藏 人收藏

    評論

    相關(guān)推薦

    芯盛智能榮獲2024年信息技術(shù)應用創(chuàng)新工作委員會卓越貢獻成員單位

    日前,中國電子工業(yè)標準化技術(shù)協(xié)會信息技術(shù)應用創(chuàng)新工作委員會(以下簡稱 “信創(chuàng)工委會”)2024 年度總結(jié)座談會于北京隆重舉行。此次會議對創(chuàng)
    的頭像 發(fā)表于 01-20 09:56 ?170次閱讀

    國產(chǎn)工控主板,信創(chuàng)產(chǎn)業(yè)發(fā)展新引擎

    在當今科技飛速發(fā)展的時代,信創(chuàng)產(chǎn)業(yè)正成為國家戰(zhàn)略的重要支撐。而我們的國產(chǎn)工控主板,以其卓越的性能和可靠的品質(zhì),為信創(chuàng)產(chǎn)業(yè)的發(fā)展注入強大動力。國產(chǎn)工控主板
    的頭像 發(fā)表于 11-06 10:29 ?317次閱讀

    中科創(chuàng)達榮獲2024年軟件和信息技術(shù)服務優(yōu)秀企業(yè)

    近日,由中國電子信息行業(yè)聯(lián)合會主辦的第二十六屆中國國際軟件博覽會(簡稱“軟博會”)天津國家會展中心成功舉行。在此次盛會上,中國電子信息行業(yè)聯(lián)合會發(fā)布了“2024年軟件和信息技術(shù)服務企
    的頭像 發(fā)表于 10-30 11:44 ?561次閱讀

    銳恩科技引領(lǐng)微控制器MCU技術(shù)創(chuàng)新,賦能多元化應用!

    ,成為國家高新技術(shù)半導體企業(yè)的佼佼者。銳恩科技不僅致力于為客戶提供高可靠性、高性能、高性價比的一站式半導體芯片供應服務,更在8和32MCU市場不斷創(chuàng)新,推動
    發(fā)表于 09-29 13:40

    銳恩科技,以實力打造國產(chǎn)單片機替代品牌!

    性能已得到了市場的肯定。銳恩科技在技術(shù)上的優(yōu)勢是其脫穎而出的關(guān)鍵。他們擁有一支由行業(yè)精英組成的研發(fā)團隊,不斷單片機領(lǐng)域進行技術(shù)探索和突破。以下是
    發(fā)表于 09-25 09:49

    用8單片機,32單片機就找銳恩!

    深圳市銳恩科技有限公司創(chuàng)立于 2008 年,是一家從事單片機及模擬器件電路芯片應用、設計研發(fā)、銷售一體的國家高新技術(shù)半導體企業(yè)。 銳恩科技公司憑著自身在半導體電子行業(yè)MCU(8
    的頭像 發(fā)表于 09-23 10:32 ?401次閱讀

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應用創(chuàng)新產(chǎn)業(yè)的簡稱,于2016年“信創(chuàng)工委會”(信息技術(shù)應用創(chuàng)新工作委員會)提出,目的就是要推動我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?522次閱讀

    UART串口通訊協(xié)議解析

    “1”的位數(shù)應為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗數(shù)據(jù)傳送的正確性。校驗位其實是調(diào)整個數(shù),串口
    發(fā)表于 09-12 16:01

    軟國際信創(chuàng)服務助力大連信創(chuàng)產(chǎn)業(yè)發(fā)展

    為進一步激發(fā)大連本地信創(chuàng)產(chǎn)業(yè)生態(tài)的活力與潛力,搭建一個高效、開放的交流平臺。由大連軟件行業(yè)協(xié)會攜手大連市信息技術(shù)應用創(chuàng)新綜合服務中心主辦,軟國際協(xié)辦的,2024年大連市信息技術(shù)應用創(chuàng)
    的頭像 發(fā)表于 08-27 16:49 ?967次閱讀

    IPv6 創(chuàng)產(chǎn)業(yè)的發(fā)展歷程

    隨著信息技術(shù)的飛速發(fā)展,信創(chuàng)產(chǎn)業(yè)作為國家信息安全和科技自主創(chuàng)新的重要領(lǐng)域,正日益受到廣泛關(guān)注。創(chuàng)產(chǎn)業(yè)的發(fā)展過程
    的頭像 發(fā)表于 06-17 14:46 ?453次閱讀
    IPv6 <b class='flag-5'>在</b>信<b class='flag-5'>創(chuàng)</b>產(chǎn)業(yè)<b class='flag-5'>中</b>的發(fā)展歷程

    通過大小鼠無創(chuàng)血壓測量實驗明白了無創(chuàng)血壓測量技術(shù)的重要性

    創(chuàng)血壓測量技術(shù)的重要性:無創(chuàng)血壓測量技術(shù)是一種非侵入性的測量方法,可以避免對動物造成不必要的傷害。醫(yī)學研究
    發(fā)表于 04-22 09:40

    泰斯特承辦“聯(lián)企創(chuàng)投匯·周三會”,協(xié)同打造智能網(wǎng)聯(lián)新高地

    2024年3月27日,由市委統(tǒng)戰(zhàn)部、市工商聯(lián)主辦、武漢市高新技術(shù)產(chǎn)業(yè)協(xié)會協(xié)辦的“聯(lián)企創(chuàng)投匯·周三會”第十三期活動武漢英泰斯特電子技術(shù)有限公司(以下簡稱“
    的頭像 發(fā)表于 03-29 09:50 ?560次閱讀

    創(chuàng)股份創(chuàng)板成功上市

    山東創(chuàng)軟件商用中間件股份有限公司(股票簡稱“創(chuàng)股份”)正式登陸科創(chuàng)板,彰顯其基礎軟件中間件
    的頭像 發(fā)表于 03-15 17:58 ?842次閱讀

    創(chuàng)股份今日登陸科創(chuàng)

    山東創(chuàng)軟件商用中間件股份有限公司(以下簡稱“創(chuàng)股份”)近日在上海證券交易所科創(chuàng)板成功上市,標志著這家國內(nèi)知名的民營軟件和
    的頭像 發(fā)表于 03-13 14:19 ?603次閱讀

    創(chuàng)股份在上交所科創(chuàng)板上市

    山東創(chuàng)軟件商用中間件股份有限公司(以下簡稱“創(chuàng)股份”)近日在上海證券交易所科創(chuàng)板成功上市,標志著這家國內(nèi)知名的民營軟件和
    的頭像 發(fā)表于 03-13 14:02 ?598次閱讀