基于Cortex―M3的嵌入式以太网门禁系统设计

时间:2016-09-12来源:网络

low_level_init(netif);

③连接远程主机,当连接建立,就会调用第4个参数Conn_Back:

tcp_connect(TCP_pcb,ipaddr,1026,Conn_back);

④当有新的数据接收到时调用的回调函数:

tcp_recv(TCP_pcb.tcp_recv_callback);

⑤服务器成功接收到数据后调用的回调函数:

tcp_sent(TCP_pcb,tcp_sent_callback);

⑥处理错误的回调函数:

tcp_err(pcb,CMD_conn_err);

⑦是否接收到数据:

ethernetif_input(enc28j60);

通信一旦结束或者出现异常状况后,一定要使用pbuf_free()函数释放pbuf,避免内存的浪费。还有一点要注意的是,系统在正常运行的过程中,定时器函数tcp_fasttmr()和tcp_slowtmr()函数必须以固定的时间间隔被规律地调用。

2.2 门禁系统软件架构与设计

门禁系统的主要流程如图6所示,每次重新启动后,首先初始化相关寄存器,初始化各个模块,确定已经连接服务器,然后进入程序主循环。

基于Cortex—M3的嵌入式以太网门禁系统设计

首先监测是否需要调用LwIP内部的快速定时器和慢速定时器。然后监测服务器是否有断开,如果断开则重新连接服务器,没有断开的话则检测是否有智能卡,有的话接收卡中信息进行处理然后发送给服务器。

结语

本文对使用STM32为主控芯片的门禁系统的硬件和软件架构进行了相应的描述,对于文中所涉及的芯片和以太网协议的使用具有指导意义,能够较大幅度地降低成本,同时门禁系统的使用会更加稳定,传输距离更长。

1 2

关键词: 门禁 Cortex-M3 LwIP PN532 ENC28J60

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版