RS232通訊協定 |
答題得分者是:ScottWang
|
jeff119224
一般會員 發表:1 回覆:3 積分:0 註冊:2011-09-20 發送簡訊給我 |
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
===================引 用 jeff119224 文 章=================== 大家好~我想請問一下 初始化 RS232 通訊介面 以下程式是我在書本上看到的 init_rs232() //設定串列介面工作於模式1,接收資料致能 TMOD=0x20; //設定鮑率為 9600 BPS TR1=1; //設定串列傳送中斷產生旗號 } 紅色字體可知通訊協定 9600 N 8 1 由程式可知TH1=0xFD 表是設定鮑率為9600 BPS , 但N 8 1 的設定該怎得知呢? 八個bits,加一個結束位元 E是even 偶同位元檢查 O是odd 奇同位元檢查 |
jeff119224
一般會員 發表:1 回覆:3 積分:0 註冊:2011-09-20 發送簡訊給我 |
8051單晶片寫的 , 註解只有看到所設定的鮑率為9600 .
8個位元的資料 , 1個停止位元 程式裡註解好像沒有設定?
編輯記錄
jeff119224 重新編輯於 2011-09-21 00:32:27, 註解 無‧
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
jeff119224
一般會員 發表:1 回覆:3 積分:0 註冊:2011-09-20 發送簡訊給我 |
===================引 用 暗黑破壞神 文 章=================== 您要不要把 8051 的規格書先傳上來? 大家有個相同的資料會比較好討論? ------------------------------------------------------------------------------------------------- 這是8051--->UART規格書http://www.atmel.com/dyn/resources/prod_documents/DOC4316.PDF 我把我主要問題詳細描述一次 目前程式須要透過UART介面傳送與接收 在與PC通訊方面都有需要有通訊協定,而通訊協定有很多種設定. 如: 9600.N.8.1 9600 : 鮑率 設定常用鮑率有(無(N) 奇(O) 偶(E) ) 8 : 資料長度 1 :停止位元 (RS232初始化通訊介面程式 init_rs232() //初始化 RS232 通訊介面 { //通訊協定:<9600 N 8 1> SCON=0x50; //設定串列介面工作於模式1,接收資料致能 TMOD=0x20; //設定計時器1工作於模式2 TH1=0xFD; //設定鮑率為 9600 BPS =>11.0592MHz TR1=1; //啟動計時器1開使計數 TI=1; //設定串列傳送中斷產生旗號 } 19200 是在程式裡TH1=0XFD 做修改 至於 O 8 2 => 不知道改怎設定了 也是我目前<9600 N 8 1>看不懂得地方
編輯記錄
jeff119224 重新編輯於 2011-09-21 19:53:51, 註解 無‧
|
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
if O,8,2 1 start bit 8 data bits 1 parity bit 2 stop bits = 12 bits ,51 好像沒支援 12 bits at page 2-95 serial port mode setting Mode 1: 10 bits are transmitted (through TXD) or received (through RXD): a start bit (0), 8 data bits (LSB first), and a stop bit (1). On receive, the stop bit goes into RB8 in Special Function Register SCON. The baud rate is variable. can be used for O,8,1 to use |
rja123
一般會員 發表:7 回覆:3 積分:2 註冊:2005-03-29 發送簡訊給我 |
SCON = 0X50 //SCON = SM0,SM1,SM2,REN,TB8,RB8,TI,RI //SCON = 0 , 1 , 0 , 1 , 0 , 0 ,0 ,0 //模式 = 1 //SM2=0 , 模式1時,接收到不正確的停止位元,RI不會產生中斷,所以不會發生接收中斷(因為設定為0所以RI位元會動作) //REN=1 , 表示允許接收串列資料 //TB8=0 , //RB8=0 , 在模式1中,若SM2 = 1 存放接收到的停止位元 //TI=0 , 發送旗標,完成時,TI = 1 ,須軟體設定為0 //RI=0 , 接收旗標,完成時,RI = 1 ,須軟體設定為0 分析: 要有校驗位需11bit(模式2或3),1個起始位元,8個資料,校驗位(1個可程式規劃設定的TB8),1個停止位
|
jeff119224
一般會員 發表:1 回覆:3 積分:0 註冊:2011-09-20 發送簡訊給我 |
|
ScottWang
版主 發表:32 回覆:486 積分:688 註冊:2009-04-27 發送簡訊給我 |
你先試試正常通用的模式,如9600 N,8,1,測試可以正常通訊了,再來測試新的設定值.
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流, 中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓, 標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器. 接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備, 另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A. http://hvpower.myweb.hinet.net/ |
rja123
一般會員 發表:7 回覆:3 積分:2 註冊:2005-03-29 發送簡訊給我 |
|
ScottWang
版主 發表:32 回覆:486 積分:688 註冊:2009-04-27 發送簡訊給我 |
這兩篇交互著看. Serial Communication,通訊格式. http://esd.cs.ucr.edu/labs/serial/serial.html
Serial Communication,C與ASM的設定. http://www.freewebs.com/maheshwankhede/rs232.html
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流, 中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓, 標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器. 接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備, 另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A. http://hvpower.myweb.hinet.net/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |