上位机发送十六进制数据,单片机进行DA转换,然后将转换结果返回上位机显示,上位机程序到底该怎么写啊

rt,非常着急,希望有人能指点啊

第1个回答  2011-11-20
下个串口调试助手就OK了,不用自己写的。写的话用VB 比较简单。追问

用串口调试助手不用写上位机程序吗?那怎么完成任务呢?

追答

不用写上位机程序,他里面有文本框 直接输入就可以。你试试就之道了。

追问

我知道有个串口大师,可以在下面的文本框中输入,然后上面的文本框可输出。但和我这个不知道怎么衔接起来,可能还是不太懂吧,能指点一下不?

追答

如果你的单片机和电脑间串口通信成功 那么下面文本框中输入的内容就会传进单片机中,同理单片机通过串口发给PC的信息会在上面的文本框中显示。

追问

哦,好像明白点了,非常感谢哈

第2个回答  2011-11-20
什环境中啊?我是用的VC追问

我现在用的也是VC,MSComm也有点看明白了,但一具体编程就糊涂了。还希望您能指导一下

追答

留个邮箱 我给你个程序 大体上看看吧 能有些启发 主要是数据的接受发送还有 数据格式转换经常蛋疼

追问

恩,好的,邮箱是710068485@qq.com,非常感谢哈
大师,有时间一定要给我发邮件啊,我等了一个晚上啦,有点焦急啊,非常非常感谢哈

本回答被提问者采纳

串口通信,如何单片机把上位机发来的16进制转化为10进制。
你从上位机发来的应该是一个十六位的16进制数,你可以直接定义一个int变量A,A=高八位*256+低八位,就能得到一个10进制的数A了,你如果要发一个十进制数A给上位机也是一样的,高八位=A\/256;低八位=A%256;

如何将单片机发送给上位机的十六进制数转换成十进制数并显示
这个应该从上位机的程序着手,因为即使你将下位机编写好程序,发送上去的看着是处理后的十进制数,最后上位机读出的还会是十六进制数。你可以直接发送十进制的字符串,比如“23”这样,上位机就能读到了。不过这样的用法不能用于控制,当然你仅仅是为了显示出来,这样就可以了。

如何将单片机串口接收到的16进制字符串转化为整型数再返回给上位机?
串口收发需要一个约定,例如固定长度或数据包标识,你收到数据后按照acssii表转成数字发送出去。

单片机 下位机 数据格式 字符 16进制
无论是整型还是字符型,单片机都以16进制的方式存储(字符型由ASCII表转换),然后单片机以16进制发送,在数据线上传播的是二进制 在上位机上,可以选择显示方式:字符型或者是整型

关于单片机AD和DA的问题
你好 对于你这个问题我想说LZ有一点还没有搞清楚 对于信号过来的确是使用AD将外界的模拟量转换为数字量,经过单片机处理把转换后的波形数据(数字量)直接通过串口发送到PC上,对于波形的还原这一块是你的上位机软件要做的事情,如果你在单片机上使用DA的话那么它输出的就是模拟量了,你试想一下,有...

上位机与单片机的通讯?
MSComm1.InputMode = comInputModeBinary '二进制方式 MSComm1.Settings = "9600,n,8,1"MSComm1.RThreshold = 1 'MSComm1.SThreshold = 1 MSComm1.InputLen = 0 If MSComm1.PortOpen = True Then MSComm1.PortOpen = False Else End If END SUB Private Sub Command1_Click()'...发送数据 D...

单片机发送,上位机接收什么意思
是单片机的串口和上位机的串口进行通信 单片机串口通信中,接收多位数据到数组,发送多位数据的代码\/下面的代码用于:单片机的串口何上位。机的串口进行通信,上位机发送的数据是“abcd”就开灯,如果是“abde”就关 灯。 \/

串口通讯,上位机每正常发送10次,单片机正常接收一次
程序好像没有什么问题 看看上位机每帧是不是多发了2两个数,即每帧22个字节

上位机给单片机发一个数据包,单片机处理完后,要给上位机回一个数...
SBUF0=temp;while(!TI);TI=0; \/\/要等到TI0==1时,才说明发送完了,再清零 总的来说,你尝试一下:void UART0(void) interrupt 4 { unsigned char temp;\/\/接收 RI0=0;temp=SBUF0;\/\/发送 SBUF0=temp;while(!TI0);TI0=0;} 还有EA,ES之类的寄存器设置了没有? 中断使能,串口使能 ...

单片机串口如何向上位机发送数据
其实单片机串口通信,无所谓向谁发送数据,尽管写发送程序好了,该怎么发送就怎么写呀。当那串口线接到电脑,就向电脑发,接到另一个单片机就向单片机发,接到哪里就发到哪里,所以,写程序时,不必考虑向谁发。

相似回答