
用单片机设计,它是个独立的个体,怎么可能像普通的C语言程序,有函数呢,不可能直接调用就可以。首先你要看52单片机上面有哪些资源,哪些是用于通信的。52单片机没有USB口,有做出来的也只是USB转串口。串口的引脚是P30/R,P31/T。这两个引脚用于数据的通信。如果是硬件制作还需要max232的转换芯片。但是只是proteus仿真的话,那就很简单了。
个人觉得单片机获取PC上的数据就是通过串口接收,但是怎么读PC上txt文件的数据,那么这部分应该有PC上位机程序完成。上位机完成读取txt的工作,然后把数据传给单片机。在proteus上放置VTERM插件就可以观看了。上位机发送数据的软件有串口调试助手,它有把接收到的数据保存成txt。但是能不能直接发送text文件,我没有试过。
关于51单片机与proteus虚拟串口调试,网上的文档很多,百度文库上就有。
不知道你所说的PC机编程是否是Windows应用软件编程,如果是这个意思的话,STM32基本不需要PC机编程,但是很多应用是和PC机相关的,比如可能会用232和PC机的上位程序通信,也可能会用GPRS或以太网连接PC机的主站服务器等,这些PC上位机程序是由专门的工程师开发的,如果你自身有能力开发上位机程序也是可以的,但是老板不会给你加钱的 ^ ^, 做终端开发用得多的是串口调试,用到的工具多数是串口调试助手
如果你是指STM32的开发环境,一楼二楼回答得很好
你要展开学习单片机,只会电脑上的vc++
和c是不够的。
如果只是开发在电脑上用的软件还行,可电脑与单片机联机运行,那就得学习单片机了。
或者,有人开发单片机,需要写上位机的控制软件,与你合作,你只负责写上位机的软件也可以。
电脑作为上位机来控制单片机,有两种方式,一种是通过电脑的RS232串口,即COM口。单片机也是通过串口与电脑联机通信。这种方式,电脑和单片机的程序都容易写,电脑上主要是做控制窗口界面,底层通过串口通信。
另一种就是通过网络,即互联网与单片机通信,这是目前的发展趁势。这不论是电脑的软件还是单片机上的软件都很复杂,涉及到了TCP/IP协议了。
再有一种新的通信方式,处于开始阶段,就是电脑与单片机通过wifi进行通信,这应该是今后的发展方向了,今后的产品要实现无线通信,这肯定是必然的。
c#编写上位机,与单片机通讯,一般采用串口通讯:RS232,RS422,RS485。
通过VS NET中的串口通讯控件即可实现。
如果下位机是类似基于LINUX内核的ARM,可以采用网口,也可以采用串口。
用 socket 类 udp tcp 我这 给你个 最简单的 例子 udp
服务器端
Imports SystemNetSockets
Imports SystemNet
Module socketsever
Sub main()
startserver()
End SubPrivate Sub startserver()
'创建服务器端的socket
Dim sServer As New Socket(AddressFamilyInterNetwork, SocketTypeDgram, ProtocolTypeUdp)
Dim myip As IPAddress
'制订本地回路的ip地址
myip = IPAddressParse("1013115105")
'设置服务器端口号
Dim sServerep As New IPEndPoint(myip, 2001)
'设置客户端的端口号
Dim clientep As New IPEndPoint(myip, 2002)
'将端口与socket绑定
sServerBind(sServerep)
While True
Try
Dim bytes(100) As Byte
'等待客户端的请求
sServerReceiveFrom(bytes, clientep)
Dim str As String = SystemTextEncodingASCIIGetString(bytes)
'将字符转化成大写
str = strToUpper
bytes = SystemTextEncodingASCIIGetBytes(str)
'返回结果
sServerSendTo(bytes, clientep)
Catch e As SocketException
End Try
End While
End Sub
End Module客户端
界面 和程序
Imports SystemNetSockets
Imports SystemNet
Public Class Form1
Inherits SystemWindowsFormsForm
Private Sub bsend_Click(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles bsendClick
'创建客户端的socket
Dim cClient As New Socket(AddressFamilyInterNetwork, SocketTypeDgram, ProtocolTypeUdp)
'指定本地回路的ip地址
Dim myip, myip1 As IPAddress
myip = IPAddressParse("1013115105")
myip1 = IPAddressParse("1013115136")
'设置服务器端口号
Dim Serverep As New IPEndPoint(myip1, 2001)
'设置客户端的端口号
Dim clientep As New IPEndPoint(myip, 2002)
'将端口与socket绑定
cClientBind(clientep)
Try
Dim str As String = TextinputText
Dim bytes() As Byte = SystemTextEncodingASCIIGetBytes(str)
'向服务器发出请求
cClientSendTo(bytes, Serverep)
Dim bytes2(100) As Byte
'接受服务器的响应结果
cClientReceiveFrom(bytes2, Serverep)
str = SystemTextEncodingASCIIGetString(bytes2)
'将结果显示在文本框中
TextdisplayText = TextdisplayText & vbNewLine & str
Catch er As SocketException
MsgBox(erToString)
End Try
cClientClose()
End Sub
End Class
PIBOT调试完成后整体交付,只需要安装雷达或者摄像头支架至顶层板即可
硬件列表
Windows 下通过 XShell 工具远程登入 ROS 上位机,请参考 XShell怎么登陆linux
安装好 apk (网盘/源码/ Android App 目录)至手机,打开程序,修改为 PIBOT上位机 的IP,点击 CONNECT
可以显示地图、设置位置和设置目标点、显示视频和控制行走
浏览器访问 >
'如果不是硬件的问题,就好处理了
'定义委托然后在事件中处理(不需要延时)
Delegate Sub SetTextCallback(ByVal InputString As String)
Private Sub ShowString(ByVal comData As String)
txt_RectText += comData '将收到的数据入接收文字框中
txt_RectSelectionStart = txt_RectTextLength
txt_RectScrollToCaret()
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As SystemIOPortsSerialDataReceivedEventArgs) Handles SerialPort1DataReceived
Dim inData As String = SerialPort1ReadExisting
Dim d As New SetTextCallback(AddressOf ShowString)
BeginInvoke(d, inData)
End Sub
以上就是关于单片机C52如何读取电脑上的txt文件全部的内容,包括:单片机C52如何读取电脑上的txt文件、STM32是否需要PC机编程用哪些软件、单片机pc端窗口程序 单片机上位机 怎么入手学习啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)