查看: 6078|回復: 10
打印 上一主題 下一主題

[提問(wèn)] RS232通訊編程提問(wèn)(C51單片機)

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2012-4-15 09:18:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: C51 , RS232
我想用51單片機做通訊,RS232協(xié)議,比如我制定指令為#(x x x)格式,#(A 8 1)這條指令的意思是:#通訊請求,(為發(fā)送開(kāi)始位,A表示P0口8表示P0口的第7位(P0.7),1表示該位為1,)為結束位  請問(wèn)下位機的編程該怎樣做呢?
沙發(fā)
 樓主| 發(fā)表于 2012-4-15 09:19:29 | 只看該作者
請求各位高手給予解答啊
板凳
 樓主| 發(fā)表于 2012-4-15 09:30:06 | 只看該作者
我需要做個(gè)小實(shí)驗的 希望各位高手幫我一下啊 感激不盡
地板
發(fā)表于 2012-4-15 09:34:49 | 只看該作者
基礎問(wèn)題,沒(méi)有人回答你。自己不動(dòng)腦
地下室
 樓主| 發(fā)表于 2012-4-15 10:33:45 | 只看該作者
6
 樓主| 發(fā)表于 2012-4-15 14:36:35 | 只看該作者
關(guān)鍵是 我是自學(xué)的  沒(méi)有基礎 期望能得到指點(diǎn)
7
 樓主| 發(fā)表于 2012-4-15 15:54:27 | 只看該作者
高手幫幫忙啦 給我一點(diǎn)思路也可以啊  謝謝啦
8
發(fā)表于 2012-4-15 20:43:11 | 只看該作者
俺不寫(xiě)代碼N多年了,只能給點(diǎn)提示給你吧:
1、先制定一個(gè)完整的命令表。這個(gè)很重要,否則后面你會(huì )越做越亂的。
2、下位機就是單片機,一般C51片子都會(huì )有專(zhuān)門(mén)的UART接口的,好好讀懂數據手冊,通過(guò)設置幾個(gè)寄存器,一般就能完成了。
3、如果不巧沒(méi)有專(zhuān)用UART接口,則需要自己用軟件來(lái)模擬。那么建議,一是要用中斷IO口來(lái)進(jìn)行接收,用其他IO口來(lái)做發(fā)送;二是調用內部計時(shí)器,來(lái)計算時(shí)間的長(cháng)短,設置IO的高低電平(或接收口的高低電平)的時(shí)間長(cháng)短;三則,在固定的時(shí)間段內(根據約定的速率來(lái)計算),讀取接口(或設置接口)的高低電平,高為1,低為0;最后,采用移位算法,將下一位數據調用(或保存),最后構成完整的單個(gè)字節或者整條命令。
9
 樓主| 發(fā)表于 2012-4-17 14:05:26 | 只看該作者
非常感謝sherwin 給我的寶貴意見(jiàn) 我現在嘗試這用switch  case 結合數組 現在做成功了 我就是想看看別人是怎么做的   我想看看別人的高效代碼  學(xué)習學(xué)習!
10
發(fā)表于 2012-4-17 14:17:59 | 只看該作者
指令格式為#(x x x)

這個(gè)做法可行的,有幀起始和結束標志

另外,盡量一開(kāi)始就考慮到協(xié)議的擴展性
11
發(fā)表于 2015-2-7 12:04:13 | 只看該作者
支持一下
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页