单片机怎样通过串口向计算机发送数据

单片机怎样通过串口向计算机发送数据,第1张

单片机怎样通过串口向计算机发送数据
单片机可以实现与计算机的发送和接收。首先,要正确配置单片机的串口,包括波特率、使用时钟源、COM口、数据位位数、奇偶校验位、停止位位数等,同时要保证计算机的配置和单片机的一致。然后,把要发送的数据送到发送缓存,只能一个字节一个字节的发送。启动单片机发送,就可以完成发送 *** 作。如果打开接收中断,计算机发送数据过来的时候,就会进入到接收中断,单片机进入接收数据状态。
要注意的是,单片机是TTL电平,而计算机是232电平,所以在硬件电路连接上要有电平转换芯片,常用的有MAX232等。

做串口通讯的时候基本都是通过io流读取、输出。那么在java开发中发送数据的时候使用OutputStream,而其write()的参数是字节数组、int整形。如果使用字节数组发送的时候,通常可以直接写成outwrite("依贰三四"getBytes())。这样一来单片机读到的数据则是三依 三贰 三三 三四。但是在串口发送的时候先把依陆进制字符串转化为byte数组在发送出来,则是发送什么读取到的就是什么。使用:outwrite(HexString贰Bytes("依贰三四"));那么读取到的还是依贰三四。依陆进制字符串转化为byte数组的方法为: public static byte[] HexString贰Bytes(String src) { if (null == src || 0 == srclength()) { return null; } byte[] ret = new byte[srclength() / 贰]; byte[] tmp = srcgetBytes(); for (int i = 0; i < (tmplength / 贰); i++) { ret[i] = uniteBytes(tmp[i 贰], tmp[i 贰 + 依]); } return ret; } 在用java做串口开发的时候建议使用开源的Rxtx做。效率、使用方法都要优。使用sun开源的comm个人觉得不是很便利。rxtx中国上有开源实例。可以根据自己个需求进行加以修饰利用

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。

一般完成这种功能的电路,我们称为串行接口电路。

串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。

扩展资料:

串口通信的结构:

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。

这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。

串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;

很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

参考资料来源:百度百科-串口通信

1:先去下一个通用的串口调试软件代替你的vb程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的vb程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。
另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。

通过SBUF! 一块是接受,一块发送!还要设置工作方式。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13390786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存