电脑上的rs232串口接收不到数据

我想用单片机通过串口传送数据到电脑里,rs232串口的2,5脚用示波器测了,有正负8.5V左右的波形输出,可为什么连上电脑上的串口后,再用串口助手软件接收,就是接收不到数据?

  方法一:直接在PC端用线短接2、3脚(拿金属钥匙就行),机端用串口助手/精灵之类的软件实时发送接收,会接收到自己发出的数据,这样可以说明引脚没错且PC端串口正常;
  方法二:检查设置的波特率与PC接收的是否一致,检查发送方式同步还是异步勿混淆;
  方法三:交叉一下收/发数据线次序,可能给弄反了;
  方法四:怀疑一下用的串口助手,有些软件可能是不可靠的,换一个试试,这个情况遇到过。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-14
引脚貌似不对吧?看你怎么数了,一般收发是说2、3脚,提几个测试解决办法
方法一:直接在PC端用线短接2、3脚(拿金属钥匙就行),机端用串口助手/精灵之类的软件实时发送接收,会接收到自己发出的数据,这样可以说明引脚没错且PC端串口正常;
方法二:检查你设置的波特率与PC接收的是否一致,检查发送方式同步还是异步勿混淆;
方法三:交叉一下收/发数据线次序,可能你给弄反了;
方法四:怀疑一下你用的串口助手,有些软件可能是不可靠的,换一个试试,这个情况我遇到过。
GOOD LUCK!本回答被提问者和网友采纳
第2个回答  2010-11-01
串口助手并不会接受乱码。
如果波特率不同步。或者发送格式不一致。都接收不到东西。
比如你用BCD码发送,而串口助手用 16进制接收。
第3个回答  2010-11-10
;用键盘输入一个字符串(回车结束),含有若干大小写字母,数字,要求统计出三种类型各有多少个,并显示

data segment
mess db 0dh,0ah,'Input String: $'

sz db 0 ;数字个数
dAx db 0 ;大写个数
xXx db 0 ;小写个数

SZ_C DB 100 DUP ('$')
DX_C DB 100 DUP ('$')
XX_C DB 100 DUP ('$')
CRLF DB 0DH,0AH,'$'

data ends
code segment
assume cs:code, ds:data
main proc far
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
;-------------------------
call crlf_p
mov ah,09
mov dx,offset mess
int 21h
next:
mov ah,01
int 21h
CMP AL,0DH
JNZ GOON
JMP DISP_1 ;显示结果
GOON:
cmp al,'0'
jl NEXT

cmp al,'9'
jg NO_0_9
inc SZ
MOV BX,OFFSET SZ_C
MOV CX,0
MOV CL,SZ
ADD BX,CX
DEC BX
MOV [BX],AL
JMP NEXT

NO_0_9:

cmp al,'A'
jl NEXT

cmp al,'Z'
jg NO_D_AZ
inc DAX
MOV BX,OFFSET DX_C
MOV CX,0
MOV CL,DAX
ADD BX,CX
DEC BX
MOV [BX],AL
JMP NEXT

NO_D_AZ:

cmp al,'a'
jl NEXT

cmp al,'z'
jg NO_X_AZ
inc XXX
MOV BX,OFFSET XX_C
MOV CX,0
MOV CL,XXX
ADD BX,CX
DEC BX
MOV [BX],AL
JMP NEXT

NO_X_AZ:
JMP NEXT

DISP_1:

CALL CRLF_P
CALL CRLF_P

mov al,SZ
CALL DISP_CZR
mov ah,09
lea dx,SZ_C
int 21h
;-----------------

CALL CRLF_P

mov al,DAX
CALL DISP_CZR
mov ah,09
lea dx,DX_C
int 21h
;-------------------

CALL CRLF_P

mov al,XXX
CALL DISP_CZR
mov ah,09
lea dx,XX_C
int 21h
;---------------------

CALL CRLF_P
;-------------------------
ENDD:
ret

main endp

;=========================================
DISP_CZR PROC NEAR ;显示10进制数字子程序
xor ah,ah
;mov al,num
mov bl,100d
div bl
push ax
add al,30h
mov dl,al
mov ah,2
int 21h
pop ax
mov al,ah
xor ah,ah
mov bl,10d
div bl
add ax,3030h
push ax
pop dx
mov ah,2
int 21h
mov dl,dh
int 21h
MOV DL,':'
INT 21H
mov dl,' '
int 21h
RET
DISP_CZR ENDP
;==========================================
CRLF_P PROC NEAR ;回车换行子程序
mov ah,09
LEA DX,CRLF
INT 21H
RET
CRLF_P ENDP
;=========================================
code ends
end start

用MASM5.0汇编,用LINK连接,以下是运行实例:

Input String: DHGFEUUYURYEDBJB834658634853NGFJ8HJHGjsfjdf8fhdjfh

014: 83465863485388
024: DHGFEUUYURYEDBJBNGFJHJHG
012: jsfjdffhdjfh
请参考
第4个回答  2010-10-31
因为你使用的是sp.ReadLine(); 而在你发送的数据里面如果没有\n 的话ReadLine(); 是无法返回值的。你应该使用sp.ReadExisting(); 但是这个的缺点是读取的数据可能不全 需要进一步进行处理 电脑系统有问题,不然就是你的主板有问题。找个USB转串口线试下就知道是那个出问题了

电脑上的rs232串口接收不到数据
方法一:直接在PC端用线短接2、3脚(拿金属钥匙就行),机端用串口助手\/精灵之类的软件实时发送接收,会接收到自己发出的数据,这样可以说明引脚没错且PC端串口正常;方法二:检查设置的波特率与PC接收的是否一致,检查发送方式同步还是异步勿混淆;方法三:交叉一下收\/发数据线次序,可能给弄反了;方法...

我的电脑的RS232串口是不是坏了
1.这个应该不是软件和串口的问题,初步怀疑是串口线的问题,或者接触不良。2.因为如果是软件和串口的问题的话,会一直收得到数据,或一直收不到数据。3.不知道你短接2、3针的方法是什么样的?中间有没有经过串口线?4.测试时首先不要插串口线,直接短接PC串口插座上的2、3针,可以用镊子、螺丝刀、...

串口RS232无法接收到数据
DSP可以接收到数据,你用示波器可以看到有波形,说明你的串口RS232有数据从外面进入PC,那么DSP会接受到数据有波形 这个是正常的,你的这个数据信号属于RX,接受作用,数据还有TX发送信号,但是发送的话就是要DSP发信号从串口RS232出来,那么要看你要怎么操作让DSP发出信号了,一般我们这里测试的话,要让一...

在调试rs232串口通信时,单片机往PC机上发数据,串口调试助手可以接收...
(5)如果收不到,则说明PC的串口问题(排除串口工具没有开错串口或短接没问题的情况下),换台电脑试下。能收到,则说明电脑端收发都没问题,进行下一步。(6)将串口线插到电脑上,开发板端的插头不插而直接将2、3脚短接。再次用串口工具发送,看是否能接收到,如果能接收到,则证明串口线没问...

RS232串口通信不稳定,在上位机经常接受不到返回信息,请问如何解决?_百度...
1. 如果您的RS232串口通信不稳定,首先检查电缆连接是否正确,包括终端电阻的连接是否恰当。2. 检查上位机和下位机的串口设置是否一致,包括波特率、数据位、停止位和校验位等。3. 如果使用的是第三方通信协议,请确保上位机和下位机都遵循相同的协议。4. 如果问题仍然存在,可以尝试更换一根新的通信...

电脑串口一直接收不了单片机发送过来的数据啊...
接收不了数据有几个方面的原因:第一:你的必须是RS232接口,也就是你的接口芯片与接口是否一致。第二:你的晶振与波特率是否对得上,看你的软件应该是11.0592M的晶振的配置。9600BPS的。看你的晶振是否对得上。第三:目前你不是采用的是中断,而是询问模式,所以,你确定一下是否可行;...

rs232通信时会出现哪些错误?
1.数据丢失在RS232通信中,数据丢失是最常见的问题之一。数据丢失可能是由于传输速度过快或设备处理速度慢而导致的。解决方法包括调整串口传输速度、增加缓存区的大小,或者使用硬件流控制等。2.数据错误数据错误可能是由于信号干扰、传输线路受到电磁干扰以及设备引起的。解决方法包括增加串口接收缓存区的大小...

电脑串口一直接收不了单片机发送过来的数据啊...
接收不了数据有几个方面的原因:第一:你的必须是RS232接口,也就是你的接口芯片与接口是否一致。第二:你的晶振与波特率是否对得上,看你的软件应该是11.0592M的晶振的配置。9600BPS的。看你的晶振是否对得上。第三:目前你不是采用的是中断,而是询问模式,所以,你确定一下是否可行;

在调试rs232串口通信时,单片机往PC机上发数据,串口调试助手可以接收...
那样是串口助手肯定收不到pc下发的数据的 232是三线的 发(TX),收(RX)和地(GND)PC和mcu应该这样连接 PC MCU TX <--- > RX RX <---> TX GND -- GND MCU和串口助手应该这样连接 MCU 串口助手 RX <---> TX TX <---> RX GND --- GND 串口助手和PC应该...

232通信机器有反应 但是没有回复
有可能是主板上的串口芯片烧了。拔掉USB转串口的线或者设备(如果有的话),打开---设备管理器,展开---端口(COM和LPT),看那个下面是否有端口(COM几),有那就是你电脑自带的RS232接口,没有就是没有了(当然,可能设备管理器连端口这个子菜单都没有),如果有这个接口但是设备管理器看不到,那...

相似回答