首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

rs232 串口读写数据 的有关问题

2012-04-11 
rs232 串口读写数据 的问题我对下位机是一点也不懂啊,现在和一个同事合作一个最简单的串口通信程序。上位机

rs232 串口读写数据 的问题
我对下位机是一点也不懂啊,现在和一个同事合作一个最简单的串口通信程序。
上位机发送一个指令(假设是'a'这个byte)下位机回复一个字节表示温度。

那么 WriteFile 和ReadFile的时候是不是和TCP类似,buffer里面只有用户数据?

[解决办法]
SBUF='a';
[解决办法]
那你得问下位机
[解决办法]
问你同事发的是什么咯。。。报文头只是你们商定的协议加或者不加
[解决办法]
一个说英语,一个说中文,很难沟通

协议就是大家说一种语言
[解决办法]
一发一收而已。
[解决办法]
直接读取bufer就可以啊,把想要的读取的数据放在bufer里
[解决办法]
我写一个简单的收发
void send_8bit(uchar dat)
{
bit es;
es = ES;
ES = 0; //这是防止在发送中被串行中断打断
SBUF = dat;
while(TI == 0);
TI = 0; //当数据没有发送完的时候,TI一直是0,发送完后会变成1 
}//这样一个8位的数据就发送完了额
void send_str(uchar *p) //发送一个字符串
{
while(*p != '\0')
send_8bit(*p++);
}//这样一个字符串就发完啦额

void isr_es() interrupt 4 // 这是一个串口中断服务函数,用来接收
{
uchar sbuf;
if(RI == 1) //有数据进来
{
RI = 0;
sbuf = SBUF; //这里的sbuf 你可以设置成一个全局变量,这样你就可以操作这个通过串口送进来的数据了
}
}



[解决办法]
只要弄懂了双方设定的协议就OK了

热点排行