保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于MDB/ICP协议的自动售卖系统的主控制器实现


uchar data check,i,j,err;

uchar data mode;

for(j=0;j<5;j++){ //最多重复发送命令5次

check=0;

err=0;

TransmitByte(add,1); //发送地址字节

Check +=add; //计算CHK

For(i=0;i<count,i++){ //发送数据字节

TransmitByte(dat[i],0);

check +=dat[i];

}

TransmitByte(check,0); //发送CHK

for (i=0,check=0,mode=0;

!mode && i<MAX_BLOCK_SIZE && !err;

i++)

{//反复接收字节直到方式位为1或出错

//接收到的数据存在全局数组recBuff[]里

if(!ReceiveByte(recBuff+i,&mode))

//超时。外设可用超时表示NAK

err=i?ERR_TIME_OUT:NAK;

else if (i= =0 && recBuff[i]= =NAK && mode)

//收到NAK

err = NAK;

else if (!mode)

//方式位为0表示还有数据

check +=recBuff[i];

} //for i

if(!err){ //未发生错误

if (!mode){

//收完36个字节还未结束

TransmitByte(NAK,0);

err=ERR_NO_MODE_BIT;

}else if (i>1) {

//收到数据块

if(check !=recBuff[i-1]){ //校验和错

TransmitByte(NAK,0);

err=ERR_CHECKSUM;

} else{

//一切正常,发送ACK后跳出循环

TransmitByte(ACK,0);

break;

《基于MDB/ICP协议的自动售卖系统的主控制器实现(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/161161.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。