1. 程式人生 > >STM32之串列埠通訊之printf重定向

STM32之串列埠通訊之printf重定向

在串列埠通訊中,常用的協議包括RS-232、RS-422和RS-485。 
•RS-232:標準串列埠,最常用的一種序列通訊介面。有三種類型(A,B和C),它們分別採用不同的電壓來表示on和off。最被廣泛使用的是RS-232C,它將mark(on)位元的電壓定義為-3V到-12V之間,而將space(off)的電壓定義到+3V到+12V之間。傳送距離最大為約15米,最高速率為20kb/s。RS-232是為點對點(即只用一對收、發裝置)通訊而設計的,其驅動器負載為3~7kΩ。所以RS-232適合本地裝置之間的通訊。 
•RS-422:最大傳輸距離為1219米,最大傳輸速率為10Mb/s。其平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能達到最大傳輸距離。只有在很短的距離下才能獲得最高速率傳輸。一般100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。 

•RS-485:從RS-422基礎上發展而來的,最大傳輸距離約為1219米,最大傳輸速率為10Mb/s。平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能使用規定最長的電纜長度。只有在很短的距離下才能獲得最高速率傳輸。一般100米長雙絞線最大傳輸速率僅為1Mb/s。

相關推薦

【STM32CubeMX】 串列通訊(USART) Printf定向

STM32CubeMX: Version 4.26.1 MDK-ARM: Version 5.24.2 開發板: 中移onenet 麒麟座MINI板 晶片: STM32F103CBT6 1.STM32CubeMX設定 設定外

STM32串列通訊printf定向

在串列埠通訊中,常用的協議包括RS-232、RS-422和RS-485。 •RS-232:標準串列埠,最常用的一種序列通訊介面。有三種類型(A,B和C),它們分別採用不同的電壓來表示on和off。最被廣泛使用的是RS-232C,它將mark(on)位元的電壓定義為-3V到-12V之間,而將space(off)

串列通訊 CRC校驗

一、CRC16簡介       迴圈冗餘碼CRC檢驗技術廣泛應用於測控及通訊領域。CRC計算可以靠專用的硬體來實現,但是對於低成本的微控制器系統,在沒有硬體支援下實現CRC檢驗,關鍵的問題就是如何通過軟體來完成CRC計算,也就是CRC演算法的問題。下

串列通訊 QByteArray詳解

QByteArray在串列埠通訊中經常被使用,有一定必要較為全面詳細的對QByteArray進行闡述。本文通過以下幾個部分加以介紹 1 初始化 2 訪問與賦值    訪問QByteArray主要有4中方式,分別為[]、at()、data[]和constDat

ros串列通訊---imu

1、sudo apt-get install ros-kinetic-rosserial 或者sudo git clonegit://github.com/wjwwood/serial.git  (開發板上) 2、步驟: $ mkdir -p imu_ws/src

51微控制器串列通訊(一)

一.基礎知識 1.序列通訊和並行通訊:目前用的比較多的是序列通訊。序列通訊優點是連線簡單,傳輸距離遠;缺點是傳輸速度慢。 2.序列通訊:分為同步通訊和非同步通訊;非同步通訊是指傳送和接收裝置利用各自

九.ARM裸機學習串列通訊詳解1(串列通訊介面及原理框圖詳解)

一.串列埠通訊的基本概念及原理理解 2017/11/12 22:52 1.同步通訊和非同步通訊: 非同步通訊:指通訊的傳送與接收裝置使用各自的時鐘控制資料的傳送和接收過程。為使雙方的收發協調,要求傳送和接收裝置的時鐘儘可能一致,即傳送方和接收方沒有統一的時鐘節拍、而各自按照

c#串列通訊adc資料採集

使用c#直接拖串列埠控制元件serialPort1 設定屬性即可。 </pre><p></p><p></p><pre name="code" class="cpp">using System; usin

Unity串列通訊(基於三姿態感測器)

/*******************************/ using UnityEngine; using System.Collections; //Other libraries using System; using System.Threading; using System.Collect

Lazarus實戰開發串列通訊(WINCE/WIN32)

本文來自 http://blog.csdn.net/hellogv/ ,轉載必須註明出處!以下程式碼可到:http://download.csdn.net/source/611385 下載    Lazarus最吸引人的地方就是她的開發方式類似Delphi,支援超好用的RAD

Android 串列通訊

閱讀前提:串列埠通訊是微控制器採用RS232與Android板進行通訊,首先要了解RS232傳送資料的工作原理:RS232傳送資料的時候是通過一個位元組接著一個位元組,將資料傳送出去,所以當接收資料時候也應當一個位元組一個位元組接受 在AndroidMan

微控制器C語言串列通訊協議

現實生活中, 我們總是要與人打交道,互通有無。微控制器也一樣,需要跟各種裝置互動。例如汽車的顯示儀表需要知道汽車的轉速及電動機的執行引數,那麼顯示儀表就需要從汽車的底層控制器取得資料。而這個資料的獲得過程就是一個通訊過程。類似的例子還有控制器通常是微控制器或者PLC與變頻器

STM32串列通訊基本原理(超基礎、詳細版)

STM32F1xx官方資料:《STM32中文參考手冊V10》-第25章通用同步非同步收發器(USART)通訊介面背景知識裝置之間通訊的方式一般情況下,裝置之間的通訊方式可以分成並行通訊和序列通訊兩種。它們的區別是:並、序列通訊的區別並行通訊序列通訊傳輸原理資料各個位同時傳輸資

STM32 學習九 通過USART實現printf定向

把printf函式內容通過USART串列埠輸出,可以方便除錯STM32內部程式。示例程式碼如下: /**************************************************

stm32串列通訊程式UART2(TTL)

一、硬體連線二、串列埠助手設定:三、keil下程式設計1.要新增的工程檔案二要編寫的user檔案1.main.c#include "printf.h" int main() { printf_init(); printf("

STM32:DMA例項串列(USART)通訊

硬體平臺:stm32f10xZET6開發環境:keil MDK uVision v4.10開發語言:C、ST_lib_3.5韌體庫/* 程式碼演示 main.c */ #include "stm32f10x.h" #include "bsp_usart1.h" #inclu

基於STM32UART串列通訊協議(二)傳送

一、前言 1、簡介   在上一篇UART詳解中,已經有了關於UART的詳細介紹了,也有關於如何使用STM32CubeMX來配置UART的操作了,而在該篇部落格,主要會講解一下如何實現UART串列埠的傳送功能。 2、UART簡介   嵌入式開發中,UART串列埠通訊協議是我們常用的通訊協議之一,全稱叫做

基於STM32UART串列通訊協議(三)接收

一、前言 1、簡介   回顧上一篇UART傳送當中,已經講解了如何實現UART的傳送操作了,接下來這一篇將會繼續講解如何實現UART的接收操作。 2、UART簡介   嵌入式開發中,UART串列埠通訊協議是我們常用的通訊協議之一,全稱叫做通用非同步收發傳輸器(Universal Asynchronou

UART串列通訊淺談(三)--字元與資料的轉換

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/solar_Lan/article/details/78093692 學串列埠通訊的應用主要是實現微控制器和電腦之間的資訊互發,可以用電腦控制微控制器的一些資訊,可以把微控制器的一些資訊狀況發給電腦

UART串列通訊淺談(二)--暫存器設定

1.1 通訊的三種基本型別 常用的通訊通常可以分為單工、半雙工、全雙工通訊。 單工就是指只允許一方向另外一方傳送資訊,而另一方不能回傳資訊。比如我們的電視遙控器,我們的收音機廣播等,都是單工通訊技術。 半雙工是指資料可以在雙方之間相互傳播,但是同一時刻只能其中一方發給另外一方,