基于STM32的嵌入式以太网门禁系统设计
low_level_init(netif);
本文引用地址:https://www.eepw.com.cn/article/249697.htm③连接远程主机,当连接建立,就会调用第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所示,每次重新启动后,首先初始化相关寄存器,初始化各个模块,确定已经连接服务器,然后进入程序主循环。

首先监测是否需要调用LwIP内部的快速定时器和慢速定时器。然后监测服务器是否有断开,如果断开则重新连接服务器,没有断开的话则检测是否有智能卡,有的话接收卡中信息进行处理然后发送给服务器。
结语
本文对使用STM32为主控芯片的门禁系统的硬件和软件架构进行了相应的描述,对于文中所涉及的芯片和以太网协议的使用具有指导意义,能够较大幅度地降低成本,同时门禁系统的使用会更加稳定,传输距离更长。
路由器相关文章:路由器工作原理
tcp/ip相关文章:tcp/ip是什么
路由器相关文章:路由器工作原理
评论