?? 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 + -