导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→谁能给我个例子啊?谢谢了啊[liuji10]

 *第35324篇: 谁能给我个例子啊?谢谢了啊

  
楼 主:liuji10 2005年10月27日20:52
 谁能给我个例子啊?谢谢了啊
我想用C51写一个串口发送数据的程序,从A单片机发给B单片机,中间设置的协议是一个12个字节的数据包,其中最后一个字节是校验和,校验和的算法是把前面的字节加起来再除以255得到的余数,小弟对串口通讯这块不熟悉啊,谁能给我个例子吗,拜托了,谢谢
  
2楼:Kuang-chingTsui 2005年10月28日09:37
 参考下
.
.

#define    uchar    unsigned char

//UART SENDS 12 DATAs ROUTINE
void sends (uchar dt1,uchar dt2,uchar dt3,uchar dt4,uchar dt5,uchar dt6,uchar dt7,uchar dt8,uchar dt9,uchar dt10,uchar dt11){
uchar buff[12];
uchar i,sum = 0;
 buff[0] = dt1;
 sum = sum + buff[0];
 buff[1] = dt2;
 sum = sum + buff[1];
 buff[2] = dt3;
 sum = sum + buff[2];
 buff[3] = dt4;
 sum = sum + buff[3];
 buff[4] = dt5;
 sum = sum + buff[4];
 buff[5] = dt6;
 sum = sum + buff[5];
 buff[6] = dt7;
 sum = sum + buff[6];
 buff[7] = dt8;
 sum = sum + buff[7];
 buff[8] = dt9;
 sum = sum + buff[8];
 buff[9] = dt10;
 sum = sum + buff[9];
 buff[10] = dt11;
 sum = sum + buff[10];
 buff[11] = sum;  //Check Sum %256

 //Send data via serial port
 for (i=0; i  <11; i++){
 SBUF = buff[i];
 while ( TI == 0);
 TI = 0;
 }
}

void main(){
.
.
.

//串口初始化后就可以直接调用发送12字节数据的子函数了,注意,()内的数据一定要写足11个。
sends(0x12,0x01,0x0A,0x0B,0x34,0,0,0,0x0C,0,0x45);
.
.
}



>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:关于Philips的LPC2148

[下一篇主题]:5款性价比最高的开发板