本文收集整理关于如何把单片机传输数据写入数据库的相关议题,使用内容导航快速到达。
内容导航:
Q1:单片机接收到的数据如何通过上位机软件连接数据库
将单片机接收到的数据再通过串口上传到上位机,上位机处理后连接到数据库。
Q2:单片机接收到的数据如何连接数据库
上位机用VB或VC编程,先会接收数据,会保存到TXT文本文件中。再学会保存到EXCEL中,就 算成功,EXCEL表格本身就 是数据库的一部分。至于数据库的操作,用高级语言是很简单的,它和单 片机关系不大。我整过VB编程,串口接收,先保存到TXT文本文件中, 再学会保存到EXCEL中,挺简单的,网上搜几次就 成功了。
下面是我的串口接收程序的一部分:
Select Case MSComm1.CommEvent事件发生
Case 2、inbuff = MSComm1.Input读入到缓冲区
ll = UBound(inbuff)
Label10.Caption = Label10.Caption + UBound(inbuff) + 1、ReDim indata(1 To (ll + 1))
For ii = 0 To UBound(inbuff)
strHex = strHex & Right("0" & Hex(inbuff(ii)), 2) & " " 如果只有一个字符,则前补0,如F显示0F,最后补空格方便显示观察如: 00 0F FE
TextReceive = strHex‘显示到 文本框
Next ii
Open "12.txt" For Append As #1 ‘打开 文本文件
m = (ll + 1) / 2、Print #1, Now; "收到"; m; "个数据"
Close #1、For ii = 1 To Len(strHex) Step 6、indata((ii + 5) / 6) = Val("&H" & Mid(strHex, ii, 2)) * 4 + Val("&H" & Mid(strHex, ii + 3, 2))
Next ii
n1 = Val(Text1.Text) 电源电压
n2 = Val(Text2.Text) 第一路电压衰减倍数
n3 = Val(Text3.Text) 第二路电压衰减倍数
na = n1 * n2 / 1024、nb = n1 * n3 / 1024、X = (ll + 1) / 2 - 1、For ii = 1 To X Step 2 存入文本中,每行两个数据
V1 = indata(ii) * na
V2 = indata(ii + 1) * nb
V3 = Format(V1, "0.000")
V4 = Format(V2, "0.000")
Open "12.txt" For Append As #1、Print #1, ii & "电压 " & V3 & " v" & (ii + 1) & "电压" & V4 & "v"
Close #1、Next
写入EXCEL表格中
Set xlsApp = New Excel.Application
Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\Book3.xls")
Set xlsSheet = xlsBook.Worksheets(1)
range = 2 第二列为起始列,但每次写入时,range并不一定是2,而是在原有基础上另起1列
第一列,写入奇数数据
Do Until xlsSheet.Cells(2, range) = ""
range = range + 1、Loop
xlsSheet.Cells(1, range) = Date 第1行
xlsSheet.Cells(2, range) = Time 第2行
xlsSheet.Cells(3, range) = "回路1电压(V)" 第3 行
For ii = 1 To X Step 2 从第4行开始存数据
V1 = indata(ii) * na
V3 = Format(V1, "0.000")
xlsSheet.Cells((ii + 1) / 2 + 3, range) = V3 第4行
Next ii
另起一列,写入偶数数据
Do Until xlsSheet.Cells(2, range) = ""
range = range + 1、Loop
xlsSheet.Cells(2, range) = Time 第2行
xlsSheet.Cells(3, range) = "回路2电压(V)" 第3行
For ii = 2 To X + 1 Step 2 从第4行开始存数据
V2 = indata(ii) * nb
V4 = Format(V2, "0.000")
xlsSheet.Cells(ii / 2 + 3, range) = V4、Next ii
xlsBook.Save
xlsBook.Application.Quit
strHex = "" 处理完成后清空字符串,等待下一次接收
TextReceive = ""
End Select
Q3:单片机怎样把采集的数据上传到网站的数据库中
1、直接:单片机配以太网接口,移植个tcp/ip协议站,单片机直接登陆服务器上传数据;
2、间接:单片机通过串口、USB等其他接口把数据传给有以太网的模块或设备(如电脑),在传到服务器。
Q4:单片机接收到的数据如何通过上位机软件连接数据库?
看不懂这个问题是什么意思?
简单聊聊单片机和电脑的通信形式吧。
一、单片机和电脑通过串口连接基本上所有的单片机都有串行通信接口,电脑上也配备有标准串行接口(现在的电脑主机上一般都没有串口了,但电脑本身是支持标准串口的),所以单片机和电脑之间可以通过串口进行连接。
只是有点点需要说明的是,电脑上的串口是标准RS 232接口,而单片机上的串口是TTL电平,所以两者不能直接相连,而是需要一个RS232-TTL电平的芯片才可以。
二、单片机和电脑通过USB口连接现在很多的功能强大的单片机本身已经配备了USB接口,二现在的电脑上一般都会有好几个USB口,而USB接口电平对于电脑和单片机来说,都是一样的,所以两者可以直接通过一根USB延长线连接。
但是,由于USB接口通信协议比较复杂,所以要想让单片机和电脑之间实现USB连接,单片机这边要编写USB通信程序,这个程序要比RS232的程序复杂。
三、单片机和电脑通过USB转串口线连接现在的电脑处于节省成本考虑(加之现在USB通信比RS232通信更快、更稳定),已经很少有电脑再配备标准串口了,所以可以通过USB转串口线,USB接口接到计算机,串口接到单片机(当然还是需要RS232电平转换芯片)