Просмотр исходного кода

update:主demo中socket_demo 更改sys_send内部使用函数为sysplus.sendMsg外部使用函数

OneLifeHowDo 10 месяцев назад
Родитель
Сommit
d6ac38db99
1 измененных файлов с 73 добавлено и 73 удалено
  1. 73 73
      luat/demo/socket/EC618/socket_demo.lua

+ 73 - 73
luat/demo/socket/EC618/socket_demo.lua

@@ -1,86 +1,86 @@
 local libnet = require "libnet"
 
---下面演示用阻塞方式做串口透传远程服务器,简单的串口DTU
+-- 下面演示用阻塞方式做串口透传远程服务器,简单的串口DTU
 local d1Online = false
 local com_buff = zbuff.create(4096)
 local d1Name = "D1_TASK"
 local function netCB(msg)
-	log.info("未处理消息", msg[1], msg[2], msg[3], msg[4])
+    log.info("未处理消息", msg[1], msg[2], msg[3], msg[4])
 end
 
 local function dtuTask(uart_id, ip, port)
-	d1Online = false
-	local tx_buff = zbuff.create(1024)
-	local rx_buff = zbuff.create(1024)
-	local netc 
-	local result, param, is_err
-	result = uart.setup(uart_id,115200,8,1)
-	uart.on(uart_id, "receive", function(id, len)
-	    uart.rx(id, com_buff)
-	    if d1Online then	-- 如果已经在线了,则发送socket.EVENT消息来打断任务里的阻塞等待状态,让任务循环继续
-	    	sys_send(d1Name, socket.EVENT, 0)
-	    end
-	end)
-	netc = socket.create(nil, d1Name)
-	socket.debug(netc, true)
-	socket.config(netc, nil, nil, nil)
-	-- socket.config(netc, nil, true)
-	while true do
+    d1Online = false
+    local tx_buff = zbuff.create(1024)
+    local rx_buff = zbuff.create(1024)
+    local netc
+    local result, param, is_err
+    result = uart.setup(uart_id, 115200, 8, 1)
+    uart.on(uart_id, "receive", function(id, len)
+        uart.rx(id, com_buff)
+        if d1Online then -- 如果已经在线了,则发送socket.EVENT消息来打断任务里的阻塞等待状态,让任务循环继续
+            sysplus.sendMsg(d1Name, socket.EVENT, 0)
+        end
+    end)
+    netc = socket.create(nil, d1Name)
+    socket.debug(netc, true)
+    socket.config(netc, nil, nil, nil)
+    -- socket.config(netc, nil, true)
+    while true do
 
-		log.info(rtos.meminfo("sys"))
-		result = libnet.waitLink(d1Name, 0, netc)
-		result = libnet.connect(d1Name, 15000, netc, ip, port)
-		-- result = libnet.connect(d1Name, 5000, netc, "112.125.89.8",34607)
-		d1Online = result
-		if result then
-			log.info("服务器连上了")
-			libnet.tx(d1Name, 0, netc, "helloworld")
-		end
-		while result do
-			succ, param, _, _ = socket.rx(netc, rx_buff)
-			if not succ then
-				log.info("服务器断开了", succ, param, ip, port)
-				break
-			end
-			if rx_buff:used() > 0 then
-				log.info("收到服务器数据,长度", rx_buff:used())
-				uart.tx(uart_id, rx_buff)
-				rx_buff:del()
-			end
-			tx_buff:copy(nil, com_buff)
-			com_buff:del()
-			if tx_buff:used() > 0 then
-				result, param = libnet.tx(d1Name, 15000, netc, tx_buff)
-			end
-			if not result then
-				log.info("发送失败了", result, param)
-				break
-			end
-			tx_buff:del()
-			if com_buff:len() > 4096 then
-				com_buff:resize(4096)
-			end
-			if tx_buff:len() > 1024 then
-				tx_buff:resize(1024)
-			end
-			if rx_buff:len() > 1024 then
-				rx_buff:resize(1024)
-			end
-			log.info(rtos.meminfo("sys"))
-			-- 阻塞等待新的消息到来,比如服务器下发,串口接收到数据
-			result, param = libnet.wait(d1Name, 15000, netc)
-			if not result then
-				log.info("服务器断开了", result, param)
-				break
-			end
-		end
-		d1Online = false
-		libnet.close(d1Name, 5000, netc)
-		log.info(rtos.meminfo("sys"))
-		sys.wait(1000)
-	end
+        log.info(rtos.meminfo("sys"))
+        result = libnet.waitLink(d1Name, 0, netc)
+        result = libnet.connect(d1Name, 15000, netc, ip, port)
+        -- result = libnet.connect(d1Name, 5000, netc, "112.125.89.8",34607)
+        d1Online = result
+        if result then
+            log.info("服务器连上了")
+            libnet.tx(d1Name, 0, netc, "helloworld")
+        end
+        while result do
+            succ, param, _, _ = socket.rx(netc, rx_buff)
+            if not succ then
+                log.info("服务器断开了", succ, param, ip, port)
+                break
+            end
+            if rx_buff:used() > 0 then
+                log.info("收到服务器数据,长度", rx_buff:used())
+                uart.tx(uart_id, rx_buff)
+                rx_buff:del()
+            end
+            tx_buff:copy(nil, com_buff)
+            com_buff:del()
+            if tx_buff:used() > 0 then
+                result, param = libnet.tx(d1Name, 15000, netc, tx_buff)
+            end
+            if not result then
+                log.info("发送失败了", result, param)
+                break
+            end
+            tx_buff:del()
+            if com_buff:len() > 4096 then
+                com_buff:resize(4096)
+            end
+            if tx_buff:len() > 1024 then
+                tx_buff:resize(1024)
+            end
+            if rx_buff:len() > 1024 then
+                rx_buff:resize(1024)
+            end
+            log.info(rtos.meminfo("sys"))
+            -- 阻塞等待新的消息到来,比如服务器下发,串口接收到数据
+            result, param = libnet.wait(d1Name, 15000, netc)
+            if not result then
+                log.info("服务器断开了", result, param)
+                break
+            end
+        end
+        d1Online = false
+        libnet.close(d1Name, 5000, netc)
+        log.info(rtos.meminfo("sys"))
+        sys.wait(1000)
+    end
 end
 
 function dtuDemo(uart_id, ip, port)
-	sysplus.taskInitEx(dtuTask, d1Name, netCB, uart_id, ip, port)
-end
+    sysplus.taskInitEx(dtuTask, d1Name, netCB, uart_id, ip, port)
+end