基于Cortex―M3的嵌入式以太網(wǎng)門(mén)禁系統設計
low_level_init(netif);
③連接遠程主機,當連接建立,就會(huì )調用第4個(gè)參數Conn_Back:
tcp_connect(TCP_pcb,ipaddr,1026,Conn_back);
④當有新的數據接收到時(shí)調用的回調函數:
tcp_recv(TCP_pcb.tcp_recv_callback);
⑤服務(wù)器成功接收到數據后調用的回調函數:
tcp_sent(TCP_pcb,tcp_sent_callback);
⑥處理錯誤的回調函數:
tcp_err(pcb,CMD_conn_err);
⑦是否接收到數據:
ethernetif_input(enc28j60);
通信一旦結束或者出現異常狀況后,一定要使用pbuf_free()函數釋放pbuf,避免內存的浪費。還有一點(diǎn)要注意的是,系統在正常運行的過(guò)程中,定時(shí)器函數tcp_fasttmr()和tcp_slowtmr()函數必須以固定的時(shí)間間隔被規律地調用。
2.2 門(mén)禁系統軟件架構與設計
門(mén)禁系統的主要流程如圖6所示,每次重新啟動(dòng)后,首先初始化相關(guān)寄存器,初始化各個(gè)模塊,確定已經(jīng)連接服務(wù)器,然后進(jìn)入程序主循環(huán)。

首先監測是否需要調用LwIP內部的快速定時(shí)器和慢速定時(shí)器。然后監測服務(wù)器是否有斷開(kāi),如果斷開(kāi)則重新連接服務(wù)器,沒(méi)有斷開(kāi)的話(huà)則檢測是否有智能卡,有的話(huà)接收卡中信息進(jìn)行處理然后發(fā)送給服務(wù)器。
結語(yǔ)
本文對使用STM32為主控芯片的門(mén)禁系統的硬件和軟件架構進(jìn)行了相應的描述,對于文中所涉及的芯片和以太網(wǎng)協(xié)議的使用具有指導意義,能夠較大幅度地降低成本,同時(shí)門(mén)禁系統的使用會(huì )更加穩定,傳輸距離更長(cháng)。
評論