本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
买了一把串口扫描枪,通过 串口转USB 线 能传扫描数据至笔记本上的 串口调试助手 。
同时我也做了一个小开发板,板上的51单片机能够与笔记本上的 串口调式助手 进行串口通信。
奇怪的是,用扫描枪与开发板相连时,竟无法实现在通信。
RI 根本不能置 1.
测试程序如下,
#include <reg52.h>
#include <intrins.h>
#include "MacroAndConst.h"
uint num[6]={0x01,0x02,0x03,0xaa,0xbb,0xcc};
uint dat;
uint8 i=0;
uchar msg[20];
void Init_RS(){
SCON=0x50;
TMOD|=0x20;
PCON|=0x80;
TH1 = 0xFA; // //baud*2 /* 波特率9600、数据位8、停止位1。效验位无 (12M)
TL1 = 0xFA;
TR1=1;
ES=1;
EA=1;
}
void delay(uint t){
uint i;
for(;t>0;t--){
for(i=600;i>0;i--){
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
void main(){
Init_RS();
P2=0x55;
while(1);
}
void UART1_ISR(void) interrupt 4{
if(RI==1){
RI=0;
P2=0x0f;
SBUF='k';
while(!TI);
TI=0;
}
}
扫描枪扫描一次后,P2 压根没有变成 0x0f;
这种现象如何解释? |
|