串口数据怎么直接在excel里显示 -凯发网址

wxg1221
级别: 正式会员
精华主题: 0
发帖数量: 15 个
工控威望: 84 点
下载积分: 466 分
在线时间: 20(小时)
注册时间: 2018-08-08
最后登录: 2025-09-08
/
楼主  发表于: 2020-03-13 15:29
|
解码枪解出来的二维码用串口传输  怎么把这个串口的数据直接在excel表格里面显示  扫一个码excel里面存一个
wxg1221
级别: 正式会员
精华主题: 0
发帖数量: 15 个
工控威望: 84 点
下载积分: 466 分
在线时间: 20(小时)
注册时间: 2018-08-08
最后登录: 2025-09-08
/
1楼  发表于: 2020-03-13 15:34
|
图片:
这是解出来的码
菜鸟入行
级别: 论坛先锋

精华主题: 0
发帖数量: 1373 个
工控威望: 1557 点
下载积分: 3690 分
在线时间: 177(小时)
注册时间: 2017-09-01
最后登录: 2024-06-11
/
2楼  发表于: 2020-03-15 18:45
|
正常来说,需要使用vb  vc 等语言。

但是,我个人比较喜欢bat的一个功能:
你只需要写这一行代码:
echo %time%>>c:\1.xls
复制到一个记事本文件,然后另存为  time.bat
每双击一次,就会在c盘生成一个叫1的表格文件,里面有每次双击的时间。
假如有办法让这个bat获取到你串口获取的内容,就可以达到你要的要求了。

我在百度搜索到,bat可以直接向串口发送数据,理论上接收也可以,只是写脚本可能麻烦些。
参考:

[ 此帖被菜鸟入行在2020-03-15 19:00重新编辑 ]
打个酱油,懂的不多
水平有限,能帮则帮
互相帮助,共同进步
908914819
加垒电气
级别: 家园常客

精华主题: 1 篇
发帖数量: 335 个
工控威望: 533 点
下载积分: 448 分
在线时间: 1425(小时)
注册时间: 2008-07-06
最后登录: 2025-10-03
查看908914819的 主题 / 回贴
3楼  发表于: 2020-03-16 14:56
|
如何将串口接收到的数据保存到excel文档

1.启动excel从:工具-->宏-->visual basic 编辑器,打开excel vba.

2.在thisworkbook上右单击鼠标选择插入--用户窗体

3.单击一下插入的窗体,单击菜单上的--工具--附加控件--选择microsoft communications control, version 6.0

4.在窗体上添加mscomm1,添加commandbutton1

5.单串口机子,短接rs232的2脚和3脚,双串口机子用232线连接两个串口,注意2、3线交叉,我这里以单串口短接举例。

6.复制以下代码到你的窗体里:

vb code

'vba代码
private sub commandbutton1_click()
mscomm1.output = "beg1end"
end sub

private sub mscomm1_oncomm()
dim t1 as long, com_string as string
static i as integer
t1 = timer

select case mscomm1.commevent
case comevreceive '收到 rthreshold定义的字符数1字节
mscomm1.rthreshold = 0
do
doevents
loop while timer - t1 < 0.1 '延时时间自己调整
com_string = mscomm1.input
mscomm1.rthreshold = 1
i = i 1: if i > 255 then i = 1
application.cells(3, i).value = com_string
end select
'activeworkbook.saveas filename:="c:\d1.xls"
end sub


private sub inimscomm()
'on error resume next
'=====-----初始化通信串口-----=====

mscomm1.commport = 1 '使用 com1
mscomm1.settings = "9600,n,8,1" '9600 波特,无奇偶校验,8 位数据,一个停止位
mscomm1.portopen = true '打开端口

mscomm1.rthreshold = 1 '缓冲区有1个字节就产生oncomm事件
mscomm1.inputlen = 0 '为 0 时,使用 input 将使 mscomm 控件读取接收缓冲区中全部的内容。

mscomm1.inputmode = cominputmodetext 'input以二进制形式取回用cominputmodebinary,以文本形式取回是(缺省项)
mscomm1.rtsenable = true
mscomm1.inbuffercount = 0 '清空缓冲区

end sub

private sub userform_initialize()
inimscomm
end sub


7.双击thisworkbook,复制以下代码到窗体里:

vb code

'vba代码
private sub workbook_open()
userform1.show 0
'userform1.hide

end sub
8.保存文件并关闭excel,然后再打开你的文件,然后单击你窗体上的按钮看看。
9.这个程序是我为你特意做的,已经做过测试,sys2003 office2003。
10.如果excel中有数据输入,再去测试你的设置,注意com口号与波特率的设置。
908914819
加垒电气
级别: 家园常客

精华主题: 1 篇
发帖数量: 335 个
工控威望: 533 点
下载积分: 448 分
在线时间: 1425(小时)
注册时间: 2008-07-06
最后登录: 2025-10-03
查看908914819的 主题 / 回贴
4楼  发表于: 2020-03-16 14:58
|
以上是百度的

    网站地图