一種嵌入式Internet接口系統(tǒng)
2.3 以太網(wǎng)層應(yīng)用程序設(shè)計(jì)
以太網(wǎng)上的通信協(xié)議一般采用TCP/IP協(xié)議。本文采用流行的SOCKET套接字編程,傳輸層協(xié)議選擇UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議),通過(guò)VisuaIC++編寫(xiě)用戶(hù)層程序。
WinSock 提供了對(duì)UDP的支持,通過(guò)UDP協(xié)議可以向指定IP地址的透明網(wǎng)關(guān)發(fā)送CAN協(xié)議數(shù)據(jù),同時(shí)也可以通過(guò)它接收CAN協(xié)議數(shù)據(jù)。發(fā)送和接收方處于相同的地位沒(méi)有主次之分。利用CAsynSocket類(lèi)操縱無(wú)連接的數(shù)據(jù)發(fā)送較簡(jiǎn)單。首先生成一個(gè)本地套接口(需要指明SOCK_DGRAM標(biāo)記);然后利用 int CAsyncSocket SendTO const VOID IPBuf int nBufLen UINT nHostPort LPCTSTR IpszHostADDress= NULL int nFlags=0發(fā)送數(shù)據(jù),int CasyncSocket ReceiveFrom void IpBuf int nBufLen CstringrSocketADDressUINTrSocketPort int nFlags=0接收數(shù)據(jù)。利用UDP協(xié)議可以使管理主機(jī)和89C52網(wǎng)關(guān)實(shí)現(xiàn)雙向的數(shù)據(jù)通信。同時(shí),這種傳輸方式也易于使數(shù)據(jù)89C52網(wǎng)關(guān)透明化。
3.接入Internet部分的程序流程圖
前面已經(jīng)介紹了軟件設(shè)計(jì)的原理,這里介紹接入Internet部分的程序流程圖。
本文引用地址:http://www.biyoush.com/article/152191.htm
4.小結(jié)
系統(tǒng)中可以采用多種單片機(jī)實(shí)現(xiàn),只要是8位的單片機(jī)即可,內(nèi)部RAM容量大一點(diǎn)越好。該系統(tǒng)目前正在家庭電器的控制系統(tǒng)中使用,系統(tǒng)工作穩(wěn)定,接收信息正確,表明系統(tǒng)應(yīng)用可行。
評(píng)論