|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求助!請(qǐng)哪位大俠給小弟發(fā)個(gè)用c語(yǔ)言編的c51和sp485的串口通訊實(shí)例 |
| 作者:dhugll 欄目:單片機(jī) |
求助!請(qǐng)哪位大俠給小弟發(fā)個(gè)用c語(yǔ)言編的c51和SP485的串口通訊實(shí)例 |
| 2樓: | >>參與討論 |
| 作者: fly1974 于 2005/10/26 14:20:00 發(fā)布:
沒(méi)有初始化部分,也沒(méi)有變量預(yù)定義,你自己琢磨好了 //------------------------------------揹諳笢剿ㄛ諉彶?瑑邠d諳杅擂------------------------------------ void rs_485() interrupt 4 { if(RI) { Buf_of_Scom.R_Buf[Buf_of_Scom.RCount]=SBUF; if(Buf_of_Scom.R_Buf[Buf_of_Scom.RCount]==2) { Buf_of_Scom.RCount=0; Buf_of_Scom.R_Buf[0]=2; } Buf_of_Scom.RCount++; if(Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-1]==3) { if((Buf_of_Scom.R_Buf[2]==MyAddress)||(Buf_of_Scom.R_Buf[2]==1)) { Buf_of_Scom.R_Buf[29]=0; for(ii=0;ii<Buf_of_Scom.RCount-3;ii++) Buf_of_Scom.R_Buf[29]+=Buf_of_Scom.R_Buf[ii]; if (Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-3]>0x60) Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-3]-=87; else Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-3]-=0x30; Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-3]<<=4; if (Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-2]>0x60) Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-2]-=87; else Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-2]-=0x30; Buf_of_Scom.R_Buf[29]+=Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-3]; Buf_of_Scom.R_Buf[29]+=Buf_of_Scom.R_Buf[Buf_of_Scom.RCount-2]; if (Buf_of_Scom.R_Buf[29]==0) { Sdog_Timer=0; ScomActive=1; if((Buf_of_Scom.R_Buf[3]=='O')&&(Buf_of_Scom.R_Buf[4]=='?')&&(Buf_of_Scom.Wfinished!=1)) //萇諷秶袨怓脤?xiě)?br> { Buf_of_Scom.W_Buf[0]=0x03; Out_Buf=JDQsBuf; Buf_of_Scom.R_Buf[5]-=0x30; if((Buf_of_Scom.R_Buf[5]<5)&&(Buf_of_Scom.R_Buf[5]!=0)) Buf_of_Scom.R_Buf[5]<<=4; else Buf_of_Scom.R_Buf[5]=0x10; Out_Buf&=0x0f; Buf_of_Scom.W_Buf[1]=NumConver[((0x02+Buf_of_Scom.R_Buf][1]+Buf_of_Scom.R_Buf[2]+'O'+'?'+Buf_of_Scom.R_Buf[5]+JDQsBuf)%256)%16]; Buf_of_Scom.W_Buf[2]=NumConver[((0x02+Buf_of_Scom.R_Buf][1]+Buf_of_Scom.R_Buf[2]+'O'+'?'+Buf_of_Scom.R_Buf[5]+JDQsBuf)%256)/16]; Buf_of_Scom.W_Buf[3]=Buf_of_Scom.R_Buf[5]+Out_Buf; Buf_of_Scom.W_Buf[4]=Buf_of_Scom.R_Buf[5]; Buf_of_Scom.W_Buf[5]='?'; Buf_of_Scom.W_Buf[6]='O'; Buf_of_Scom.W_Buf[7]=Buf_of_Scom.R_Buf[2]; Buf_of_Scom.W_Buf[8]=Buf_of_Scom.R_Buf[1]; Buf_of_Scom.W_Buf[9]=0x02; Buf_of_Scom.WCount=10; Buf_of_Scom.Wfinished=1; for(ii=0;ii<10;ii++) Buf_of_Scom.Re_Buf[ii]=Buf_of_Scom.W_Buf[ii]; Buf_of_Scom.ReWCount=10; Buf_of_Scom.ReWNeed=1; Max487DR=1; SBUF=Buf_of_Scom.W_Buf[Buf_of_Scom.WCount-1]; Buf_of_Scom.WCount--; goto scheck_end; } if((Buf_of_Scom.R_Buf[3]=='I')&&(Buf_of_Scom.R_Buf[4]=='?')&&(Buf_of_Scom.Wfinished!=1)) //懷ㄗ惆劑滅ㄘ袨怓脤?xiě)?br> { Buf_of_Scom.W_Buf[0]=0x03; Out_Buf=ZoneNormal^Zones; // Out_Buf=~Out_Buf; Buf_of_Scom.R_Buf[5]=Out_Buf; Buf_of_Scom.R_Buf[5]&=0x0f; Buf_of_Scom.R_Buf[5]|=0x10; Out_Buf>>=4; Buf_of_Scom.R_Buf[6]=Out_Buf; Buf_of_Scom.R_Buf[6]&=0x0f; Buf_of_Scom.R_Buf[6]|=0x10; Buf_of_Scom.W_Buf[1]=NumConver[((0x02+Buf_of_Scom.R_Buf][1]+Buf_of_Scom.R_Buf[2]+'I'+'?'+Buf_of_Scom.R_Buf[5]+Buf_of_Scom.R_Buf[6])%256)%16]; Buf_of_Scom.W_Buf[2]=NumConver[((0x02+Buf_of_Scom.R_Buf][1]+Buf_of_Scom.R_Buf[2]+'I'+'?'+Buf_of_Scom.R_Buf[5]+Buf_of_Scom.R_Buf[6])%256)/16]; Buf_of_Scom.W_Buf[3]=Buf_of_Scom.R_Buf[5]; //1-4繚羲 Buf_of_Scom.W_Buf[4]=Buf_of_Scom.R_Buf[6]; //5-8繚羲 Buf_of_Scom.W_Buf[5]='?'; Buf_of_Scom.W_Buf[6]='I'; Buf_of_Scom.W_Buf[7]=Buf_of_Scom.R_Buf[2]; |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |