如何用C语言实现PC间串口通信逐bit传输.

是否能够,如何实现,不用UART传输协议,PC间逐bit串行传输数据.
注意是PC与PC间传输数据,最好是C语言程序.
按UART协议传是5,6,7bit都可以,但是都是按帧传得.有起始位,校验位,结束位.
想实现1bit,1bit传输,开始一个起始位,最后一个结束位,是否可以实现.

想实现1bit,1bit传输,开始一个起始位,最后一个结束位,是否可以实现.

答:能!但是这是一种非标准的协议类型,就不能用一般的UART控制器实现。对于单片机来说可以用普通IO口模拟,就像18B20的单线通信一样,一个bit一个bit的发。在计算机上你可以通过驱动软件控制串口或者并口中的一条引脚,再加上一条地线就可以与另外一台计算机的对应端口的引脚进行bit方式的数据收发了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-30
单片机定时发送字串给PC机

#include < reg52.h >
#include < intrins.h >
#include < stdio.h >

#define uchar unsigned char
#define uint unsigned int

/**********************************************************
* *
* 延时函数 *
* *
**********************************************************/
void delay(int ms)
{
uchar i;
while(ms--)
{
for(i=0;i<250;i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

/**********************************************************
* *
* 主程序 *
* *
**********************************************************/
main()
{
SCON=0x50; //串口模式1,允许接收
TMOD=0x20; //定时器1为模式2,8-bit 自动装载方式
PCON=0x00; //波特率不倍增

TL1=0xfd;
TH1=0xfd; //波特率9600
TI=1; //TI 置1,以发送第一个字节
TR1=1; //启动定时器 T1

while(1)
{
printf (" 真诚与各位单片机高手切磋学习\n"); //向PC机发送数据
delay(500);
printf (" welcome to \n"); //向PC机发送数据
delay(500);
printf (" qq892793019\n"); //向PC机发送数据
delay(500);
printf (" \n"); //向PC端发送数据
delay(500);
}
}

/*********************************************************/本回答被网友采纳
第2个回答  2010-11-30
串口通信部就是逐bit传输 嘛?
一般 5、6、7、8 bit 都可以 的

你不会是 说 1bit 1bit 的 传输 吧?

推荐看书
Visual C++_Turbo C串口通信编程实践
相似回答