window 安装lua rs232
1、下载luarocks/
https://github.com/luarocks/luarocks/wiki/Download
2、管理员身份cmd方式执行以下指令: luarocks install rs232
3、串口实现
local rs232 = require "rs232" -- 打开串口 COM3 并配置参数 local e, p = rs232.open('COM3') if e ~= rs232.RS232_ERR_NOERROR then print(string.format("无法打开串口 COM3: %s", rs232.error_tostring(e))) return end -- 配置串口参数 assert(p:set_baud_rate(rs232.RS232_BAUD_9600) == rs232.RS232_ERR_NOERROR) assert(p:set_data_bits(rs232.RS232_DATA_8) == rs232.RS232_ERR_NOERROR) assert(p:set_parity(rs232.RS232_PARITY_NONE) == rs232.RS232_ERR_NOERROR) assert(p:set_stop_bits(rs232.RS232_STOP_1) == rs232.RS232_ERR_NOERROR) assert(p:set_flow_control(rs232.RS232_FLOW_OFF) == rs232.RS232_ERR_NOERROR) -- 设置 RTS 线 assert(p:set_rts(rs232.RS232_RTS_ON) == rs232.RS232_ERR_NOERROR) -- 发送数据 arr = {0x12, 0x34, 0x45, 0x56} function _tableTostr(buff) if buff == nil then return '' end local str = '' for i=1,#(buff) do str = str .. string.format('%02X', buff[i])..' ' end return str end local err, len_written = p:write(_tableTostr(arr)) if err ~= rs232.RS232_ERR_NOERROR then print("发送数据失败: " .. rs232.error_tostring(err)) else print("成功发送数据: " .. len_written .. " 字节") end -- 读取数据 local err, data_read, size = p:read(64, 10) if err ~= rs232.RS232_ERR_NOERROR then print("读取数据失败: " .. rs232.error_tostring(err)) else print("读取数据: " .. data_read) end -- 关闭串口 p:close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2022-08-23 linux 大小端数据交换