找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1637|回復(fù): 9
收起左側(cè)

關(guān)于單片機上位機通訊

[復(fù)制鏈接]
ID:1094208 發(fā)表于 2024-12-29 15:09 | 顯示全部樓層 |閱讀模式
我是初學(xué)者,51單片機下位機,接近開關(guān)檢測設(shè)備運行位置。目前程序是設(shè)備運行到開位置,接近開關(guān)發(fā)生跳變,232串口向上位機發(fā)送一次信號,字符a。到了關(guān)位置,發(fā)送一次信號,字符b。上位機串口控件收到信號,得出設(shè)備位置。弊端是,上位機程序重新啟動,就不能知道設(shè)備運行位置。只有等設(shè)備運行一次,有通訊信號發(fā)送到上位機,上位機才能知道設(shè)備運行位置。我是不是要把下位機程序改下,改成定期檢測設(shè)備運行位置,同時發(fā)送信號給上位機?這個周期多長時間為好?會不會串口通訊沒傳輸完,下一個檢測周期又到了。
回復(fù)

使用道具 舉報

ID:74687 發(fā)表于 2024-12-30 10:48 | 顯示全部樓層
你先得把通信協(xié)議寫好,上位機可能發(fā)送指令,查詢狀態(tài)。
回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2024-12-30 10:53 | 顯示全部樓層
這兩者之間,就要做個查詢指令,上位機啟動,就查詢、得到當(dāng)前狀態(tài)。
回復(fù)

使用道具 舉報

ID:1109793 發(fā)表于 2024-12-30 13:50 | 顯示全部樓層
開關(guān)變化速度有多快?就算9600波特率,發(fā)一次也沒多少時間吧。要那么快的開關(guān)信號?那是編碼器信號?
回復(fù)

使用道具 舉報

ID:92781 發(fā)表于 2024-12-30 14:27 | 顯示全部樓層
上位機重啟后,可以向下位機查詢一次狀態(tài),其他不變
回復(fù)

使用道具 舉報

ID:123917 發(fā)表于 2024-12-30 19:28 | 顯示全部樓層
應(yīng)該不會,發(fā)送一次消息用時很短
回復(fù)

使用道具 舉報

ID:1042953 發(fā)表于 2024-12-31 11:20 | 顯示全部樓層
那你可以下位機改成從站,上位機主動查詢,根據(jù)工藝設(shè)置查詢周期
回復(fù)

使用道具 舉報

ID:879348 發(fā)表于 2024-12-31 13:35 | 顯示全部樓層
你的擔(dān)心多余了,串口通訊是us級的
回復(fù)

使用道具 舉報

ID:1094208 發(fā)表于 2024-12-31 22:07 | 顯示全部樓層
明白了。
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2025-1-3 12:54 | 顯示全部樓層
首先,上位機和下位機應(yīng)該是雙向通訊的,也就是有交互
下位機位置有變動,或者是重啟,發(fā)送一次位置信息
上位機重啟,向下位機查詢一次位置信息
至于時間,在9600波特率下,發(fā)送或者接收一個字節(jié)是1.0416667毫秒,留有一定的余量,你可以當(dāng)成是1.5毫秒,如果位置信息的變化小于這個時間,可以調(diào)整串口的波特率
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表