基於51 微控制器的串列埠收發資料
在進行串列埠的收發資料過程中一定要注意波特率的問題。
大多數51微控制器用的都是11m晶振而只有少部分用的是奇葩的12m(樓主的就是),在12m晶振進行串列埠通訊時切忌要將波特率設定為4800以下,應為12m晶振的波特率在9600以上誤差很大容易丟失資料,動手能力強的可以折騰一下用定時器輸出9600波特率。
至於,串列埠中斷以及波特率的設定可以參考網上例子忒多。
在用串列埠助手進行串列埠收發資料時都會觸發串列埠中斷並且在傳送資料時只能夠一位一位的傳送,也就是SBUF=10是不行的智慧一位一位傳送也就是每次只能傳送(0-9或者一個字元)並且串列埠除錯助手接收到的資料是asii碼要進行下轉換,傳送也要進行一下轉換。這只是針對串列埠除錯助手
話不多說直接上程式碼:
由於程式碼不方便公佈所以只能上圖片需要的可以私聊博主
轉載請標明原貼出處:https://blog.csdn.net/zj490044512
相關推薦
基於51 微控制器的串列埠收發資料
在進行串列埠的收發資料過程中一定要注意波特率的問題。 大多數51微控制器用的都是11m晶振而只有少部分用的是奇葩的12m(樓主的就是),在12m晶振進行串列埠通訊時切忌要將波特率設定為4800以下,應為12m晶振的波特率在9600以上誤差很大容易丟失資料,動手能力強的可以折騰一下用定時器輸出96
51微控制器串列埠通訊的幀資料接收
首先定義一個數據幀格式,Header :{ 0xAA 0x55} type:{ 0x01 | 0x02 | 0x03 } length:{ N } body :{____n個位元組的資料___ } 資料的格式就是上面的定義 Header 為幀頭 標記一個數據幀的開始,t
python 實現linux串列埠收發資料
使用python實現在linux平臺收發串列埠資料,原始碼如下: uart.py #!/usr/bin/python import serial,time,thread ser=serial.Serial('/dev/ttyS1', timeout=1) print s
ZigBee(CC2530)(05) 串列埠收發資料
串列埠收發資料 目錄 一、預備知識: UART模式提供非同步序列介面。在UART模式中,介面使用雙線連線方式(含有引腳RXD、 TXD)或者四線連線方式(含有引腳RXD、 TXD、RTS和CTS),其中RTS和CTS引腳用於硬體流量
STM32-----採用DMA的方式實現串列埠收發資料
STM32-----採用DMA的方式實現串列埠收發資料 概述 想必看到這篇部落格的你已經知道了DMA的好處了吧,所以這兒就不過多地講述DMA對於緩解MCU壓力有多麼重要的用途,DMA在很多方面都可以使用,如IIC,SPI,USART等,這兒主要給出DMA
串列埠收發資料實驗
一、實驗目的 利用CC2530的串列埠0不停的列印資訊到電腦上,同時接收從串列埠發過來了的資料,把傳送過來的資料直接送回給電腦。 二、實驗環境 1.硬體:通用節點或任意感測器節點一個、USB模擬器、USB電纜、PC機; 2.軟體:IAR E
MTK之UART串列埠收發資料
暫存器 UARTn_RBR: Rx Buffer Register,通過讀取該暫存器接收資料。要求LCR[7]=0。 UARTn_THR: Tx Holding Register,資料先寫入該暫存器,再送至PC端。要求LCR[7]=0。 UARTn_IER
QT筆記(8)——Qt與51微控制器串列埠通訊
工業控制中微控制器與pc機通訊,常常通過串列埠通訊來完成,本次基於RS232通訊來完成的,硬體是普中的STC51微控制器開發板;板子如下圖: 不需要液晶顯示器,自帶的例子這裡就不貼了,主要實驗是Qt進行串列埠連結,傳送資料,微控制器判斷髮送的內容並做出反饋; 微控制器
51微控制器串列埠通訊的傳送與接收
51微控制器的串列埠,是個全雙工的串列埠,傳送資料的同時,還可以接收資料。 當序列傳送完畢後,將在標誌位 TI 置 1,同樣,當收到了資料後,也會在 RI 置 1。 無論 RI 或 TI 出現了 1,只要串列埠中斷處於開放狀態,微控制器都會進入串列埠中斷處理程式。 在中斷
51微控制器串列埠通訊接收一串字串
在51微控制器中,我們使用上下位機時,我們通常會發送一串字串,將它作為訊號發給微控制器處理。 因為串列埠通訊時,傳送資訊是以一個個字元的形式傳送過來的,所以接收的就是一個個字元,通常我們是一個字元陣列儲存,在進行下一步處理,同時字元陣列長度固定有限,但是如果上位機發送的字元
linux串列埠收發資料不對(由於流控等設定不對導致)
最近一個專案使用了嵌入式linxu串列埠通訊,由於通訊使用的是2進位制資料,經常出現通訊校驗失敗,資料幀大小沒問題,就是校驗出錯 c_iflag引數表 鍵 值 說 明 IGNBRK 忽略BREAK鍵輸入 BRKINT 如果設定了IGNBRK,BREAK鍵輸入
基於51微控制器的NRF905收發程式
程式簡介:該程式能同時進行接收和傳送功能,可以實現兩塊微控制器互相通訊。實現的效果:能控制P0口的4個燈,並簡單驅動蜂鳴器發聲。 #include <reg52.h> #include <ABSACC.h> #include <intrins.
51微控制器串列埠通訊(電腦傳送數字到微控制器數碼管顯示)
#include<reg51.h> #include<intrins.h> //--定義使用的IO--// #define GPIO_DIG P0 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; typ
【Python】簡單的串列埠收發資料
實現效果: Python端執行的時候開啟COM3,然後準備從鍵盤獲取資料,併發送,同時接收串列埠除錯助手COM1傳送過來的資料 Python端: 串列埠除錯助手: 串列埠除錯助手使用COM1,能顯示Python端發過來的資料,當點擊發送的時候,Python端
51微控制器串列埠列印不管是中文還是英文都是亂碼的問題
講道理都tm大三暑假了還搞51微控制器而且關鍵是還遇到了一個問題解決了一天才解決出來真的是很丟人了。不過我會珍惜這個機會的,畢竟這有可能是我輩子最後一次跟著老師搞這個破玩意了。好了不廢話了 收!昨天遇到的問題是微控制器用串列埠給電腦發資料,本人用串列埠助手檢視時亂碼了,傳送的
深入理解51微控制器串列埠通訊
串列埠通訊的基本認識 通訊分為並行通訊和序列通訊,並行通訊時的資料各個位同時傳送,可以實現位元組為單位通訊,但通訊線多佔用資源,成本高。以前用到的的P1=0x55,一次給P1口的8個管腳分別賦值,同時進行訊號輸出,類似於8個車道可以過去8輛車,這樣的形式是並行的,一般稱P0
51微控制器串列埠通訊的實現.
在串列埠通訊實際操作裡面往往串列埠還要和電腦上的上位機軟體進行互動,實現電腦軟件傳送不同的指令,微控制器對應執行不同操作的功能,這就要求我們組織一個比較合理的通訊機制和邏輯關係,用來實現我們想要的結果。我們發的資料往往是一組(一幀)資料,那麼我們是如何判斷一段資料有沒有接收完
c語言串列埠收發資料VS2013
最近師兄師姐在做GPS定姿的專案,需要把天線解算的結果從電腦串列埠傳送出去,對於VS和C語言小白的我承擔了把資料從串列埠傳送出去的任務。網上串列埠通訊的例子倒是不少,在傳送資料方面,下的功夫倒也不是很多,主要是老師還讓我把資料接收下來校驗傳送的對不對,於是開始了除錯程式碼的
基於51微控制器的pwm和串列埠通訊
此例程設定了按鍵可以調整100-1000hz的不同頻率(100的倍數)的方波,另外還加入了串列埠通訊,可以通過串列埠傳送來的數字來設定相對應的頻率; #include <reg52.h> #include"uart.h" sbit PWMOUT = P1^0
[轉]串列埠收發float型資料
如果是格式化 ,用sprintf / printf; 如果傳送原始記憶體資料流, 可按下面傳送, 傳送 float a = 1.23; double b=3.2; SendByt