📄 pc与单片机通信.txt
字号:
用【 小 | 中 | 大 】字体浏览
C51编程:请教:PC与单片机通信 [boomh] [33次] 02-1-11 上午 10:17:38
我用PC接受51单片机串口数据,是3线连接,PC程序用BC++3.0,直接操作8250寄存器,不用
INT14或DOS中断,不管发甚末数据每次接受到的都是FF,我用示波器看见单片机串口输出数
据没错,请教各位,错在那里?
可参考下面的程序 [steave] [41次] 02-1-11 上午 10:24:20
#include <dos.h>
#include <bios.h>
#include <stdio.h>
#define COMM 0x2f8
#define COMMBAUDL COMM
#define COMMBAUDH COMM+1
#define COMMLCR COMM+3
#define COMMLSR COMM+5
#define uchar unsigned char
#define uint unsigned int
void InitComm( void );
void send( uchar dt );
uchar receive( void );
void main( void )
{
uchar dt;
InitComm();
while( 1 )
{
send(0x55);
dt= receive();
}
}
return ;
}
/* Initialize comm port */
void InitComm( void )
{
outp( COMMLCR,0x80 );
outp( COMMBAUDL,0x60 );
outp( COMMBAUDH,0x0 ); /* set baud = 1200 */
outp( COMMLCR,0x03 ); /* 8 data bit,1 stop bit,no parity */
}
/* send to a byte to COMM port */
void send( uchar dt )
{
while( ( inp( COMMLSR ) & 0x20 ) == 0 );
outp( COMM,dt );
}
/* receive a byte from COMM port */
uchar receive( void )
{
uchar dt;
while( ( inp( COMMLSR ) & 0x01 ) == 0 );
dt = inp( COMM );
return ( dt );
}
控件 [lpywt7317] [8次] 02-1-11 下午 08:02:57
在BC++或c60下用通讯控件,简单,可以去啸峰工作室掌握
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2002
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -