
sm_tab[3]=buf/1000%10; //把取回来的值拆分显示出来
在这句之前你根本就没有给buf赋值,好不好? buf=SBUF; 这句在哪里
还有你这个单片机的接收缓冲大于8位的吗?为什么还有千位?
首先要知道PLC的通讯协议,然后用串口编程线把PLC和电脑连接起来,打开串口调试助手,通过ASCII码对应的数据向PLC发送数据。串口调试助手是串口调试相关工具,有多个版本。如:友善串口调试助手,支持9600,19200等常用各种波特率及自定义波特率,可以自动识别串口,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。硬件连接方面,传统台式PC机支持标准RS232接口,但是带有串口的笔记本很少见,所以需要USB/232转换接口,并且安装相应驱动程序。
单片机跟什么通信,跟电脑吗?
单片机之间,发什么都行。
跟电脑,那得看你电脑上的软件要什么数据了,有的程序能显示16进制数。那你发什么都行。不一定要弄成 ASCII码。
想转的话,ASCII转CHAR跟本不用转,char型本来内部就是按ASCII码存的。数字 就是单个位的数字+'0'就好了。多位数的你得一位位去转哦。
以上就是关于单片机串口技术,关于ascii码的问题。谢谢!全部的内容,包括:单片机串口技术,关于ascii码的问题。谢谢!、Delphi 怎么使用 spcomm以ascii格式向PLC发数据,我用友善串口助手中的ascii格式发过去是OK的。、C51单片机通过串口通信,发送的数据内容是ASCII吗请问你是怎么把对应的ASCII码转换为CHAR,然后把数字转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)