簡體   English   中英

如何通過串行端口發送請求從目錄中檢索數據?

[英]How to retrieve a data from a directory by sending a request through the serial port?

我有一個具有串行端口和以太網的控制器。 我想通過控制器的串行或以太網端口從事件目錄中檢索事件和與此事件關聯的數據。 我確實有要檢索的指定事件的數據包格式(請求數據包數據)。 誰能告訴我如何通過串行端口發送請求來檢索數據? 我是新手,對編程不太了解。

您將需要在嵌入式平台上運行某種程序,以偵聽串行端口並回答請求。 這種程序通常稱為“守護程序”(發音與“ demon”相同;就像“ Caesar”押韻與“ sea star”一樣)。

如果您已經擁有一個守護程序,則需要弄清楚它使用什么格式。 由於我不知道您可能擁有什么,我什至無法猜測。

如果要編寫自己的守護程序,則需要選擇某種協議。 我個人比較喜歡串行協議的JSON格式。 如果沒有更好的庫可用,那么只需使用sscanf()從C庫中提取數據就足夠簡單了,當然,僅使用sprintf()即可構建JSON字符串很容易。

http://json.org/

您需要的是《 POSIX操作系統串行編程指南》 如果由於某種原因綁定到Windows,則可以通過安裝Cygwin獲得POSIX。 希望您熟悉諸如termiosfcntl類的手冊頁,因為您必須首先設置串行端口參數才能與您的設備一起使用,盡管它們在某種程度上可能是標准的8-N-1。 然后,只需將字節讀取和寫入端口的文件描述符即可。 您更可能使用低級的open()close()read()write() ,它們是您更可能使用的stdioprintffopenstdout )之下的級別。作為一個新的程序員。

如今的計算機通常缺少RS232串行端口,因此,如果需要RS232串行端口,您可以找到便宜的USB適配器。 請注意,根據我的經驗,USB適配器不一定會實現某些輔助信號(RTS,CTS等)。

另外,請針對您的特定需求和情況查看圖書館。

您應該指定控制器以獲得更多有用的答案。

您的控制器應支持任何數據交換協議。 您可以在文檔中找到此信息。 可能是,它支持MODBUS或MODBUS TCP。 在這種情況下,您可以使用任何與Modbus兼容的軟件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM