新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > STM32再學習——實現完美的RS485

        STM32再學習——實現完美的RS485

        作者:jobs 時間:2013-10-23 來源:電子產品世界 收藏

          在遠距離中,難免受干擾,因此,偉大的牛人們就創造了一種差分傳輸的方式——方式(以下簡稱)。由兩根差分線來傳輸數據,比起RS232來說,其傳輸的距離更遠,搞干擾性更強。當然,也為了節省銀子,因此,只保留了一組差分線,也就只能完成同一時刻只接收或發送數據的半雙工了。

        本文引用地址:http://www.104case.com/article/182410.htm

          在設計中,我們經常使用一個名為的芯片來完成TTL電平至差分電平的轉換,這款芯片有一個DE(發送使能)引腳控制著RS485線的數據傳輸方向,而這個引腳何時高電平,何時低電平對我們的數據交換質量也就起著重大的作用。

          我們先來看一下DE引腳的作用。當主設備完成發送后,其需要在1byte的時間內釋放RS485總線,否則從設備在收到數據后,再回送數據時就會與主設備對總線占用的問題而產生沖突,這在RS485總線上是不允許的——RS485總線沒有仲裁機制。因此,DE引腳就需要在主設備發送完成最后一個字節的最后一位數據的一位時間內將DE引腳從高電平拉到低電平。

          提供一個應用實例來實現精確、高效地控制DE引腳。這里我們使用DMA方式通過UART發送與接收數據,那么我們將會用到DMA發送完成中斷與USART發送完成中斷。DMA控制器監控著整個發送過程,待發送數據將會不斷地被存入USART數據寄存器直到DMA計數減至零。當DMA發送完成后將觸發DMA發送完成中斷,我們就在這個中斷中,將DE引腳的電平拉低。

          我親愛的網友們,你們學會了嗎?

        數字通信相關文章:數字通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 栾川县| 澄城县| 和平县| 双鸭山市| 白山市| 东阿县| 彭水| 临湘市| 山阴县| 博罗县| 旬阳县| 鹿泉市| 集安市| 桓台县| 娄底市| 开鲁县| 浮山县| 白城市| 普兰店市| 聂荣县| 南川市| 资中县| 惠东县| 滕州市| 阿巴嘎旗| 改则县| 南乐县| 天祝| 都匀市| 闽清县| 山阳县| 四子王旗| 白河县| 阿城市| 象州县| 徐水县| 邵东县| 桂林市| 汉阴县| 宜春市| 奇台县|