单片机,这个程序编译正确,只是串口调试助手不能显示,为什么?

直接粘贴会排版问题 所以我贴图了~

我要是看的没错的话,你里面有句:
SBUF = table[i];
接下来这个地方:
while(!T1) //---你这里是个T1,不是TI呀,还有后面,也都是T1,不是TI.
是你自己写错了吧?

/* P3 */
sbit RD = P3^7;
sbit WR = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;

在头文件里定义的T1是P3.5引脚,所以你的程序就成了,发送,然后一直等到P3.5为高电平。。。自然就死了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-14
是TI不是T1

串口调试助手窗口不显示内容
没有接收到数据。1、如果串口调试助手HEX和字符模式的窗口没有显示内容,那么说明串口没有接收到数据,单片机程序和数据线两个方面分别检查一下。2、试试不同的串口助手或者不同版本,有时候是你串口助手自身可能出现了问题。先把USB转TTL模块的RX和TX短接,自测一下,全屏到处看一下设置部分,有无可疑...

单片机烧录程序后可以使用没问题,但是串口检测的时候Connect port read...
应该是Connect port read...fault 连接端口读取故障 不知道你用的是什么单片机,你可以先进设备管理器查看 如下图!我怀疑你是打开两次串口,或者用两个串口调试助手同时打开同一个COM,就会出现这个情况吧,你可以当你程序下载完后关闭下载软件,在打开串口调试助手软件试试,不知道猜的对不对!

...串口调试助手显示乱码(蓝牙波特率改成两个单片机波特率)
检查一下你的晶振是否为11.0592MHz这种频率(或者是这个数的倍数),这样的频率分频出来的波特率才是标准的波特率,否则会有误差导致数据接收不正确。你用两块单片机对着发,只要晶振频率一样,是没问题的。但是蓝牙模块应该是标准波特率。

做单片机仿真时,为什么串口调试助手接收区收不到数据?
这个问题很明显,你需要下载一个虚拟串口软件 ,在软件里把“仿真软件里的COM3”和你串口调试助手的COM4连接起来!类似实际2台计算机通信用物理串口线连接一个道理!

...但经蓝牙模块发送后蓝牙串口调试助手上显示的就不对了
看现象是 bit4丢失后bit765顶替bit 654, bit7被置位为1 不知道细节,原因只能猜 一种可能是波特率误差大了,可以降低波特率试试看,或者不降低到其它波特率,但把发送波特率故意调慢5%~10%先看看现象

stc单片机串口调试的小程序,但是在串口调试助手里,显示接收不到数据...
你先看看串口线有没问题:将串口的2、3脚两根针短接,用键盘在串口调试输入字符,如果串口调试接收区能够显示输入的字符,说明串口工作正常 等我再看看程序 我觉得这儿有问题 JBC TI,SEND JBC在T1为0的时候,会顺序执行,然后就end了 ,这里我觉得应该改为等待发送结束的指令 JNB T1,...

单片机与PC通信得先开单片机,否则PC机的串口调试助手收不到数据,这是...
1、很有可能是在发送最后一个字节时,将数据送入了SBUF后就不再处理了,其实单片机将该字节发送后,会将TI置1,软件必须对TI再做清零操作,才能保证一次通讯发送真正完成,接口恢复到初始状态。采用在中断程序里发送数据的模式尤其容易在这里出错。2、如果通讯是由PC机触发的,可能还要查一下是否有清零...

为什么一打开串口调试助手,单片机的程序就停了?
线接错了,接收、发送和地线三根线有两根错了。也可能是你直接把单片机的TTL电平USRAT口直接与PC的RS232直接连接了,没有使用232芯片。

无论单片机输出什么,我的串口调试助手只会显示00,请问这是怎么回事
有可能是单片机发送的波特率太低。远低于9600.如果是使用的STC的单片机,记得在下载时选择使用外部晶振。

51单片机与计算机串口通信无法读出数据?
答:1 判断你的硬件有没有问题;方法是 用跳线讲串口的pin2 和pin3短接,用串口调试助手发送数据看调试助手能不 能自己收到,能就说明是单片机程序有问题 2 你检查你的波特率是生成程序是否正确, 中断和主程序用 1楼给你程序,我看了 没问题。这样就可以实现串口通信了 ...

相似回答
大家正在搜