单片机用的是stc12c5a60s2,两个串口都用着,但是发现使用一个串口的时候,另一个无法接受和发送数据

单独测试两个串口时都能正常工作。请问问题出在哪里?

第1个回答  2012-11-05
看看中断级别本回答被提问者采纳

毕业设计中使用STC12C5A60S2单片机。做双串口通信时候。串口1使用定 ...
如果你的数据是时好时坏的丢失,我建议你考虑清楚2个定时器之间中断优先级的问题,有个能串口1把串口2正在处理的数据优先屏蔽了 如果你的数据都是非正常的,我建议你做个协议进行数据校对,不过我觉得优先级的可能性比较大

STC12C5A60S2使用双串口进行通信时,两个串口在发送数据时都没有问题...
这是可能的,如果接收速度慢了的话,发送方速度较快,两个数据发送间隔较小,那么可能丢失数据

STC12C5A60S2单片机双串口,为什么串口1用独立波特率发生器时还要使能定...
串口1波特率可使用定时器1或者独立波特率发生器,使用定时器1时做波特率发生时,你就不能用定时器1了,使用独立波特率发生器时,定时器1得到释放,你可以随时使用;此时你使能定时器(0\/1)并允许定时器中断只是为了释放定时器,当然你用不到定时器中断,也可以关掉,对波特率无影响的 ...

使用stc12c5a60s2双串口单片机时 串口2的中断服务子程序怎么写呢?_百 ...
;允许串口2中断 ANL AUXR,#03FH ;定时器12时钟为Fosc,即12T ANL AUXR,#0FEH ;串口1选择定时器1为波特率发生器 MOV TMOD,#21H ;设定定时器1为8位自动重装方式,0为16位定时器 MOV TL1,#0FFH ;57600bps@11.0592MHz MOV TH1,#0FFH ;设定定时器重装值 MOV SERGET,#0 ;接收RS232 Pointer is...

stc12c5a60s2单片机烧不进程序 为什么?
如果占用了串口,或者配置有问题,也会有这个问题:把P1.0 \\P1.1 都接0看看

使用stc12c5a60s2双串口单片机时 串口2的中断服务子程序怎么写呢?_百 ...
ORL IE2,#01H ;允许串口2中断 ANL AUXR,#03FH ;定时器12时钟为Fosc,即12T ANL AUXR,#0FEH ;串口1选择定时器1为波特率发生器 MOV TMOD,#21H ;设定定时器1为8位自动重装方式,0为16位定时器 MOV TL1,#0FFH ;57600bps@11.0592MHz MOV TH1,#0FFH ;设定定时器重装值 MOV SERGET,#...

stc12c5a60s2 双串口传输漏字符
您好,ASCII码在单片机中也是用16进制来表示的,只是解码后显示的是字符,你要是随便发一个字符,串口调试助手选择字符显示接收就可以显示一个字符出来(可能我们不认识这个字符)。发送一个字符串就是不停的发送直到发送完毕,51单片机有自己的串行发送端口P3.0和P3.1端口,但是它是一个字节一个字节...

stc12c5a60s2的芯片做了一个程序,主要用到两个串口和两个定时器,c编写...
引起程序跑飞的因素主要有三个:其一是软件错误,比如汇编语言编程使用了直接地址跳转(没有使用标号),而地址输入或计算错误,产生错误跳转(目标地址落入数据区或者不在指令起始位置),或者操作堆栈不匹配等。这在C语言中不容易出现。其二是编译器错误,即编译器有BUG,这个我遇到过(汇编语言)。也是小...

stc的单片机比如stc12c5a60s2工作在1T模式怎么输出与晶振相同频率的方波...
一直循环取反就行,但是达不到那么高的频率嘛,至少要三四个周期才能处理完一个方波的嘛 可以考虑直接用晶体输出,如果仅是要信号,用有源晶体,或者直接从单片机的晶体引脚1出来经过一个门电路或施密特都可以的

大神帮忙修改下用STC12C5A60S2 单片机串口1接收11个字节的数据然后将这...
串口1单独使用时,可以用独立波特率发生器也可使用定时器做波特率发生器,在串口1和串口2同时使用时,串口1就只能使用定时器做波特率发生器。 参看例程初始化两个串口

相似回答