同步主要包括位同步和字符同步。
位同步:目的是使接收方可以正確地接受各個二進制位。通常,分為自同步和外同步兩種方法。
自同步方法是指接收方直接利用通信編碼的特點從數據塊中獲取同步信息,包括利用獨特的信號來激活接收動作,或者利用數據塊中的電平變換調整接收采樣脈沖。
外同步方法是指發(fā)送方在發(fā)送數據之前,先向接收方發(fā)出一串同步時鐘序列,接收方根據這一時鐘脈沖頻率和時序鎖定接收頻率,以便在接收數據過程中始終與發(fā)送方保持同步。
字符同步也稱群同步,其目的是使接收方可以爭取地識別數據(常指一個字符),以構成完整信息。顯然字符同步是基于位同步的,僅當識別了獨特的同步模式后,才可是真正的數據接收。
優(yōu)缺點已經闡述出來了。
對一個多任務的操作系統(tǒng)來說,任務間的通信和同步是必不可少的。uC/OS-II中提供了4種同步對象,分別是信號量,郵箱,消息隊列和事件。所有這些同步對象都有創(chuàng)建,等待,發(fā)送,查詢的接口用于實現(xiàn)進程間的通信和同步。
異步方式在傳送字符的首末分別設置1位起始位和1位或1.5位或2位停止位,用它們分別表示字符的開始和結束。用頭尾信息來進行同步,也可以看得出,此種方式效率較低,每個字符前后都要加開始和停止符。
同步方式是在傳送一組字符前加入1個或2個同步字符SYN。同步字符后可以連續(xù)改善任意多個字符,每個字符間不需要附加位。故此傳輸方法效率較高,但雙方要事先約定同步的字符個數及同步字符代碼,且中間傳輸有停頓時會失去同步,造成傳輸錯誤。
串行通信是指計算機主機與外設之間以及主機系統(tǒng)與主機系統(tǒng)之間數據的串行傳送。
使用串口通信時,發(fā)送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0。 串行通信的分類 串行通信可以分為同步通信和異步通信兩類。
同步通信是按照軟件識別同步字符來實現(xiàn)數據的發(fā)送和接收,異步通信是一種利用字符的再同步技術的通信方式。 同步通信 同步通信是一種連續(xù)串行傳送數據的通信方式,一次通信只傳送一幀信息。
這里的信息幀與異步通信中的字符幀不同,通常含有若干個數據字符。 它們均由同步字符、數據字符和校驗字符(CRC)組成。
其中同步字符位于幀開頭,用于確認數據字符的開始。 數據字符在同步字符之后,個數沒有限制,由所需傳輸的數據塊長度來決定;校驗字符有1到2個,用于接收端對接收到的字符序列進行正確性的校驗。
同步通信的缺點是要求發(fā)送時鐘和接收時鐘保持嚴格的同步。 異步通信 異步通信中,在異步通行中有兩個比較重要的指標:字符幀格式和波特率。
數據通常以字符或者字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端逐幀發(fā)送,通過傳輸線被接收設備逐幀接收。
發(fā)送端和接收端可以由各自的時鐘來控制數據的發(fā)送和接收,這兩個時鐘源彼此獨立,互不同步。 接收端檢測到傳輸線上發(fā)送過來的低電平邏輯"0"(即字符幀起始位)時,確定發(fā)送端已開始發(fā)送數據,每當接收端收到字符幀中的停止位時,就知道一幀字符已經發(fā)送完畢。
ucos沒有學習視頻,不過有一份比較好的翻譯文檔,邵貝貝翻譯的,你可以百度上搜一下。
ucos不難的,我的建議是,你在網上下一個可以運行在STM32的ucos2,就是已經移植好的了,然后你結合邵貝貝的文檔就可以讓你的第一個任務甚至多任務跑起來,,,跑起來之后主要就是任務之間的各種通信方法的學習了。。。學習操作系統(tǒng)的只是無非就是內存管理 進程管理,進程通信,任務同步互斥哪些玩意兒。。。。ucos不難的!加油!邵貝貝的文檔很不錯,我當初就是看那份文檔入門的。。
聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.801秒