㈠ 有一個雙串口單片機,我要把串口1的數據發送到串口2中去,串口1波特率9600,串口2波特率1200。要怎麼做
你可以在單片機內部用數組把信息從串口1串到串口2,
另外你還要考慮在單片機內部傳遞的時間,
由於串口1速度快,口2速度慢,
1:從串口2向串口1傳遞可以按照9600的波特率。
2:從串口1向串口2傳遞速度只能按照串口2的波特率1200進行。
如果對實時性要求不高還是很容易搞定的。
㈡ 51單片機串口通信是全雙工的,但是為什麼又說它的發送和接受不可以同時進行呢
51單片機串口通信是全雙工的,發送和接受可以同時進行。不可以同時進行的是半雙工。
全雙工方式分別由兩根不同的傳輸線傳送數據時,通信雙方都能在同一時刻進行發送和接收操作,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在發送和接受兩個方向上傳送。
半雙工使用同一根傳輸線既作接收又作發送,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據。採用半雙工方式時,通信系統每一端的發送器和接收器,通過收/發開關轉接到通信線上,進行方向的切換,因此,會產生時間延遲。收/發開關實際上是由軟體控制的電子開關。
(2)單片機發串口擴展閱讀:
全雙工方式在發送設備的發送方和接收設備的接收方之間採取點到點的連接,這意味著在全雙工的傳送方式下,可以得到更高的數據傳輸速度。
全雙工方式無需進行方向的切換,因此,沒有切換操作所產生的時間延遲,這對那些不能有時間延誤的互動式應用(例如遠程監測和控制系統)十分有利。這種方式要求通訊雙方均有發送器和接收器,同時,需要2根數據線傳送數據信號。
㈢ 單片機怎麼通過串口發送一串數據
通過SBUF! 一塊是接受,一塊發送!還要設置工作方式。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
㈣ 鍗曠墖鏈轟覆鍙i氫俊鍘熺悊鏄浠涔
鍗曠墖鏈轟覆鍙i氫俊鏄鎸囦嬌鐢ㄥ崟鐗囨満鐨勪覆鍙f帴鍙d笌澶栭儴璁懼囪繘琛岄氫俊鐨勮繃紼嬨備覆鍙f槸涓縐嶉氫俊鎺ュ彛錛屽厑璁鎬袱涓璁懼囦箣闂寸殑鏁版嵁浼犺緭銆傚崟鐗囨満閫氬父鏈夊氫釜涓插彛錛屾瘡涓涓插彛閮芥湁涓涓鐙絝嬬殑鎺ュ彛鍜屽瘎瀛樺櫒錛屽彲鐢ㄤ簬鍚屾椂涓庡氫釜璁懼囪繘琛岄氫俊銆
涓插彛閫氫俊閫氬父浣跨敤涓茶屾暟鎹閫氫俊鍗忚錛屽俁S-232銆丷S-422鍜孯S-485絳夈傝繖浜涘崗璁瑙勫畾浜嗛氫俊鍙屾柟浣跨敤鐨勬暟鎹鏍煎紡銆佹嘗鐗圭巼銆佹暟鎹浣嶃佸仠姝浣嶅拰鏍¢獙浣嶇瓑鍙傛暟銆
鍦ㄥ崟鐗囨満涓插彛閫氫俊涓錛屽崟鐗囨満浣滀負涓繪満錛岄氳繃涓插彛鎺ュ彛涓庡栭儴璁懼囪繘琛屾暟鎹浼犺緭銆備負浜嗗疄鐜伴氫俊錛屽崟鐗囨満闇瑕佸厛閰嶇疆涓插彛瀵勫瓨鍣錛岃劇疆閫氫俊鍙傛暟錛岀劧鍚庝嬌鐢ㄤ覆鍙g‖浠跺畬鎴愭暟鎹鐨勫彂閫佸拰鎺ユ敹銆
閫氬父錛屽崟鐗囨満涓插彛閫氫俊鍙浠ュ垎涓轟袱涓閮ㄥ垎錛氭暟鎹鍙戦佸拰鏁版嵁鎺ユ敹銆傚湪鏁版嵁鍙戦佽繃紼嬩腑錛屽崟鐗囨満鍚戜覆鍙e瘎瀛樺櫒鍐欏叆瑕佸彂閫佺殑鏁版嵁錛岀劧鍚庤Е鍙戜覆鍙g‖浠跺彂閫佹暟鎹銆傚湪鏁版嵁鎺ユ敹榪囩▼涓錛屽崟鐗囨満閫氳繃璇誨彇涓插彛瀵勫瓨鍣ㄤ腑鐨勬暟鎹鏉ヨ幏鍙栨帴鏀跺埌鐨勬暟鎹銆
鍗曠墖鏈轟覆鍙i氬湪鍗曠墖鏈轟覆鍙i氫俊涓錛屼覆鍙e瘎瀛樺櫒鏄鍗佸垎閲嶈佺殑銆備覆鍙e瘎瀛樺櫒鐢ㄤ簬閰嶇疆涓插彛鐨勫伐浣滃弬鏁幫紝濡傛嘗鐗圭巼銆佹暟鎹浣嶃佸仠姝浣嶅拰鏍¢獙浣嶇瓑銆傞氬父錛屼覆鍙e瘎瀛樺櫒涔熷寘鍚鏈夊叧鏁版嵁浼犺緭鐘舵佺殑淇℃伅錛屽傚彂閫佸拰鎺ユ敹緙撳啿鍖虹殑鐘舵併佸彂閫佸拰鎺ユ敹涓鏂鏍囧織浣嶇瓑銆
鍗曠墖鏈洪氳繃璇誨啓涓插彛瀵勫瓨鍣ㄦ潵閰嶇疆涓插彛鐨勫伐浣滃弬鏁幫紝騫朵笖鍙浠ヤ嬌鐢ㄤ覆鍙e瘎瀛樺櫒涓鐨勪俊鎮鏉ユ嫻嬫暟鎹浼犺緭鐨勭姸鎬併備緥濡傦紝鍗曠墖鏈哄彲浠ラ氳繃媯鏌ュ彂閫佺紦鍐插尯鐨勭姸鎬佹潵紜瀹氭暟鎹鏄鍚﹀凡緇忓彂閫佸畬姣曪紝涔熷彲浠ラ氳繃媯鏌ユ帴鏀剁紦鍐插尯鐨勭姸鎬佹潵紜瀹氭槸鍚︽湁鏂扮殑鏁版嵁鍒拌揪銆
涓插彛閫氫俊鍦ㄥ緢澶氶嗗煙閮藉緱鍒板箍娉涘簲鐢錛屾槸鍗曠墖鏈洪氫俊鐨勯噸瑕佹柟寮忎箣涓銆傚畠鍏鋒湁綆鍗曘佺ǔ瀹氥侀氱敤鎬у己絳変紭鐐癸紝鏄寰堝氬祵鍏ュ紡緋葷粺鐨勯栭夐氫俊鏂瑰紡銆
㈤ 單片機怎樣通過串口向計算機發送數據
單片機怎樣通過串口向計算機發送數據:
單片機可以實現與計算機的發送和接收。首先,要正確配置單片機的串口,包括波特率、使用時鍾源、COM口、數據位位數、奇偶校驗位、停止位位數等,同時要保證計算機的配置和單片機的一致。然後,把要發送的數據送到發送緩存,只能一個位元組一個位元組的發送。啟動單片機發送,就可以完成發送操作。如果打開接收中斷,計算機發送數據過來的時候,就會進入到接收中斷,單片機進入接收數據狀態。
要注意的是,單片機是TTL電平,而計算機是232電平,所以在硬體電路連接上要有電平轉換晶元,常用的有MAX232等。
㈥ 單片機串口發送數據包的問題
我來回答你的問題:
1。串口,即串列通迅(非同步心通迅)本來就是一位一位的將數據串列發出,所以你的數據(10位元組)肯定是一位一位的發,發完第一字--》第二位元組--》。。。第10位元組。注意發送某一位元組時不能停頓,當然串口會自動完成,不需要人工干擾;發完一個位元組後中途肯定是可以停頓的,否則我1ms不發送串口就不工作???肯定不會的了。
2。接收端用狀態機來做最方便,編者順手,讀者稱心。收到一位元組後,自動進入中斷,定義一下step來指示接收到了哪一個「階段」,如:地址檢驗階段,然後step++,退出中的,下次再進中斷時,就進入了下一個「階段」了,就是你的「數據長度」,然後step++,退出中斷(如果數據如:ID,址址不對就直接返回STEP=0)。。。。。直到接收完整個數據幀;接收完一位元組數據肯定是要退出中斷去做其它事情的,要不就成了輪循的接收方式,而不叫中斷方式了;
以下為我用PIC的USART做的一段狀態機接收接收程序:
ISR_USART_RX;串口接收中斷
MOVFW
RX_STEP
;the
counter
of
RX
ADDWF
PCL,F
GOTO
ISR_RX_PREAMBLE
;同步頭檢驗
GOTO
ISR_RX_ID_H
;ID_H檢驗,不對就置RX_STEP=0
GOTO
ISR_RX_ID_L
;ID_L檢驗,不對就置RX_STEP=0
GOTO
ISR_RX_DATA
;數據
GOTO
ISR_RX_CHECK
;檢驗
希望樓主能滿意我的回答。