‘壹’ 单片机串口通信 串口调试助手
显然,串口被占用,他抢不到串口就报错,但是软件设计缺陷,本来报错一次就可以,他没有做好,导致连续报错,果断放弃这个软件,重新找一个下载吧。如果用STC的51单片机,官方提供的下载软件本身也有串口调试功能。
如果不想放弃这个软件,就得保证时刻串口都不被别人占用。如果你确定没有别的程序占用串口,串口又是靠USB模拟的,把USB拔了重插就可以了。如果真的就一个串口,又不知究竟是谁占用了,本人感觉,只能重启电脑……
‘贰’ 51单片机串口助手与单片机通信
画仿真图电路时,那数码管最好用6位一体的,这样画,在显示时,会出现乱码的现象,这是仿真的引起的。而且就是6个数码管,也不用573,更简单。
这样画不好吗?
‘叁’ 51单片机(CC2530)发送按键次数到串口助手显示 实现功能:按1次按键 串口助手显示1 再按一
摘要 需要检测按键的下降沿和上升沿(与空闲状态的电平相关),如鼠标就是你按下并无动作,但你抬起后就有动作了,单片机也是如此。
‘肆’ 做单片机仿真时,为什么串口调试助手接收区收不到数据
首先确认串口软件的串口参数和单片机串口参数一致;
其次,如果收不到,换一个串口助手,格西烽火串口助手、SSCOM之类的都是不错的。
如果都不行,调试你的单片机。
‘伍’ 单片机串口通信,串口助手调试收发都正常,接到一块就不正常了
每片单片机单独与串口助手通信成功。说明你的2个单片机串口通信都很正常,
但2个单片机合在一起就通信不成功,发送、接受不到数据!很可能是以下原因:
1)仔细检查2片单片机的脚,rx
tx
交叉接且要共地。
2)串口助手通信是采用中断接收触发信号的,反应迅速且准确,你单片机也可采用外部中断作触发,用定时器来读取数据,一般比较迅速准确。
3)你可以发送0x55
或
0xaa,这样的值来确定接收数据是否会正常。
如果还是不行,你用示波器监视下,看看数据发送口是否有数据传送?
‘陆’ 51单片机与助手怎么使用
单片机入门零基础如何使用串口调试助手?
串口调试助手,顾名思义是用来仿真串口的,到底如何使用呢,我们先打开串口调试助手软件。
接下来我们设置下配置,首先将COM口设置为所连接的cOM口。然后将波特率选择9600,最后将ReceiveAsHEX勾选取出。
将串口收发的程序下载到单片机中。打开串口助手,按上述配置完成后,点击Open,我们在发送栏里输入“abab”,点击Send,在接收栏里出现“abab”。
‘柒’ 网上购买的51单片机和自制的串口调试助手(VC)能直接进行串口通信吗(USB接口)如果不行,还需要
可以的。单片机作为下位机,VC串口助手作为上位机,单片机可以用串口线连接到电脑的RS232串口,或者通过USB转串口连接电脑。串口助手选择单片机所在的COM口。然后打开串口,编写好下位机串口通信软件,就可以进行串口通信了。
‘捌’ 51单片机 如何编程实现通过串口助手输入内容
可以的,实际上就是利用串口实现输入输出,只需要正确设置串口波特率就行了。
void mInitSTDIO( void )
{
SCON = 0x50;
PCON = 0x80;
TMOD = 0x21;
TH1 = 0xf3; /* 24MHz晶振, 9600bps */
TR1 = 1;
TI = 1;
}
main( )
{
mInitSTDIO( ); /* 为了让计算机通过串口监控演示过程 */
printf( "Start\n" );
while(1);
}
‘玖’ 用51单片机与PC进行通信,通过串口助手进行调试
首先检测你的硬件电路。
方法是,拔掉你的单片机,把rxd和txd脚短路。然后在串口调试助手里面,选任意波特率发送任意字符,如果收到的是发送的内容,则能肯定max232和rs-232之间连接正确。
接下来就要检查你的程序了
最容易出问题的就是波特率了。
如果你用12m的晶振,那么,最好设置波特率为1200
或
2400。
‘拾’ 怎么用stc89c52单片机利用串口助手向电脑每秒发送从零开始的数据啊
这个问题,你提问过,还没有写出程序呀。对串口程序不熟悉呀。
程序很简单的,如下
#include <reg51.h>
unsigned char t0n;//T0中断20次为1秒
main()
{
unsigned char second;
TMOD=0x21;
TH1 =0xFD;//晶振频率=11.0592,波特率=9600
TL1 =0xFD;
SCON=0x50;
TH0 =0x4B;//晶振频率=11.0592,定时50us
TL0 =0xFD;
EA =1;
ET0 =1;
TR0 =1;
TR1 =1;
while(1)
{
if(t0n>=20)//定时器T0中断20次,1秒到
{
t0n=0;
second++;
if((0x0f&second)==0x0a)//变成10进制数发送
{second+=6;}//删掉这两行,按十六进制数发送
SBUF=second;//发送秒
while(TI==0);
TI=0;
}
}
}
void T0_int() interrupt 1
{
TH0 =0x4B;
TL0 =0xFD;
t0n++;
}
下图是串口调试助手接收的情况
1,单片机按十进制数形式发送时,接收数据如下,是按十六进制数显示,但没有十六进制数了