通訊是可以的。 1、exe中作為服務(wù)端,創(chuàng)建對(duì)象調(diào)用dll接口,然后把委托函數(shù)傳過(guò)去。 2、exe調(diào)用dll接口方法, 當(dāng)該dll接口方法做到其中一個(gè)步驟后,就調(diào)用委托函數(shù),把信息傳回 來(lái)給exe 3、這樣就能實(shí)現(xiàn)通訊

10年積累的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有安定免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
用到的gomodbus包是壇友slzm40編寫(xiě)和共享的,感謝他的無(wú)私分享,本帖只是拋磚引玉,將我自己學(xué)習(xí)的一些經(jīng)歷分享給大家;有關(guān)modbus包可以直接向slzm40請(qǐng)教或一起討論;
包地址"github.com/thinkgos/gomodbus";
添加一對(duì)虛擬串口
打開(kāi)modbus-slave從機(jī)軟件,用來(lái)測(cè)試從機(jī);
需要注意設(shè)置通信地址和讀取寄存器的地址和數(shù)量;
查看可用串口,因?yàn)樘摂M串口選擇com1和com2,虛擬中我選擇使用/dev/ttyS1
編譯運(yùn)行,會(huì)提示串口打開(kāi)失敗,這是因?yàn)閘inux對(duì)設(shè)備的權(quán)限做了限制
獲取串口讀寫(xiě)、運(yùn)行等權(quán)限
我們已經(jīng)能正確讀取03寄存器的值;其他功能可以自行測(cè)試;
package main
import (
"fmt"
modbus "github.com/thinkgos/gomodbus"
"github.com/thinkgos/gomodbus/mb"
"time"
)
func main(){
//調(diào)用RTUClientProvider的構(gòu)造函數(shù),返回結(jié)構(gòu)體指針
p := modbus.NewRTUClientProvider()
p.Address = "/dev/ttyS1"
p.BaudRate = 115200
p.DataBits = 8
p.Parity = "N"
p.StopBits = 1
p.Timeout = 100 * time.Millisecond
client := mb.NewClient(p)
client.LogMode(true)
err := client.Start()
if err != nil {
fmt.Println("start err,", err)
return
}
for {
value, err := client.ReadHoldingRegisters(1, 1, 3)
if err != nil {
fmt.Println("readHoldErr,", err)
} else {
fmt.Printf("%#v\n", value)
}
time.Sleep(time.Second * 3)
}
}
//創(chuàng)建一個(gè)串口通訊 SerialPort CurrentPort = null; CurrentPort = new SerialPort(); CurrentPortReadBufferSize = 128; CurrentPortPortName = comName; //端口號(hào) CurrentPortBaudRate = bandRate; //比特率 CurrentPortParity =parity;/go語(yǔ)言做串口通信,我應(yīng)該從什么地方入手,IO是什
網(wǎng)頁(yè)名稱(chēng):go語(yǔ)言通訊機(jī) go通訊錄
標(biāo)題URL:http://chinadenli.net/article16/highdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、外貿(mào)建站、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)