基于A(yíng)RM的嵌入式網(wǎng)絡(luò )接口控制器設計
操作,程序代碼如下:
?。椋睿簟。妫?;
?。妫洌剑铮穑澹睿ā埃洌澹觯簦簦樱啊?,O_RDWR);
?。椋妫ǎ妫洌剑剑保。穑澹颍颍铮颍ā疤崾惧e誤!”);}
然后設置串口的波特率、校驗位和停止位。要用網(wǎng)卡接收發(fā)送數據,就要首先創(chuàng )建套接字,程序代碼如下:
?。椋睿簟。螅铮悖耄撸妫?;
?。螅铮悖耄撸妫洌剑螅铮悖耄澹簦ǎ粒疲撸桑危牛?,SOCK_STREAM,O)
?。椋妫ǎ螅铮悖耄撸妫洌剑剑保?P> ?。穑澹颍颍铮颍ā埃螅铮悖耄澹簟保?;
?。澹椋簦ǎ保?;}
然后設置屬性,然后等待客戶(hù)端的連接,一旦建立連接,就可以實(shí)現數據的接收和傳送。
數據處理在整個(gè)程序中是十分關(guān)鍵的一環(huán),該環(huán)節中實(shí)現的是在網(wǎng)絡(luò )數據和串口數據之間的相互交換,根據實(shí)際需要也可以將網(wǎng)絡(luò )數據轉換成并行數據或者其他類(lèi)型接口的數據;這里網(wǎng)絡(luò )和串口數據交互處理分成兩部分,一部份是網(wǎng)絡(luò )數據轉變成串口數據,另一部份是串口數據發(fā)送到網(wǎng)絡(luò )上,其流程圖如圖4、5所示。為了充分利用系統資源,在數據處理程序中調用select()函數。Select函數原型為:int?。螅澹欤澹悖簦ǎ椋睿簟。睿酰恚妫洌?,fd_set?。颍澹幔洌妫洌?,fd_set?。鳎颍椋簦澹螅澹?,fd_set?。澹悖澹穑簦螅澹?,const?。螅簦颍酰悖簟。簦椋恚澹觯幔臁。簦椋恚澹铮酰簦?;
返回:準備好的文件描述符個(gè)數(可以是0),-1表示出錯。
?。丁〗Y束語(yǔ)
本文作者創(chuàng )新點(diǎn):本文采用性?xún)r(jià)比高的32位微處理器s3c2410作為主控芯片,移植了源代碼開(kāi)放的Linux,它易于實(shí)現了TCP/IP處理模塊,這樣大大縮短了產(chǎn)品開(kāi)發(fā)周期,并有利于提高了串口數據和以太網(wǎng)數據的轉換速率,提高數據傳輸的實(shí)時(shí)性,使傳統串口設備方便接入以太網(wǎng),為以太網(wǎng)在控制層和設備層的應用奠定了基礎。
評論