完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PIC32单片机首先对UART进行设置。本课题选择串口的通信方式为半双工模式, 设置UBRRH 和UBRRL以使波特率为9600bps, 设置UCSRB以使接收器与发送器使能,通过UCSRC寄存器设置帧格式。 接下来对ENC624J600进行初始化, 首先应查询ESTAT寄存器的CLKRDY位,确保在配置MAC和PHY寄存器前有足够的延时;PHY寄存器用来设置通信模式;编程ERXST和ERXND指针对接收缓冲器进行初始化, 当编程ERXST指针时,相同的值会自动更新ERXWRPT寄存器,接收硬件将从ERXWRPT中的地址开始写入已收到的数据, 为跟踪接收的数据,ERXRDPT寄存器也需要用相同的值编程;为了能最大限度地降低主控制器的处理工作量, ENC624J600配备了不同的过滤器,可自动拒绝不需要的数据包,所有的过滤器都由ERXFCON寄存器进行配置,可以使用ANDOR位对几个过滤器的测试结果作逻辑/与0或逻辑/或0运算;由于未被用作接收缓冲器的存储空间都作为发送缓冲器,所以不需要对发送缓冲器进行特定的初始化,通常将存储空间分配为大的接收缓冲器空间和较小的接收存储空间。最后, 由于ENC624J600占用单片机的中断口, 所以最后通过MCUCR寄存器对中断进行初始化设置。 在初始化完成后,即进入主循环程序打开中断服务程序,单片机将反复检测ENC624J600是否接收到以太网帧(或者数据缓冲区B中有数据需要发送),当有数据接收(或者发送)时则调用相应的子函数处理, 将数据存入数据缓冲区A(或者发送至以太网上)。主程序流程如所示。 |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之变量
447 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之本地脚本的编写和执行
616 浏览 0 评论
【xG24 Matter开发套件试用体验】深入了解Silicon Labs xG24 Matter开发套件
749 浏览 0 评论
662 浏览 0 评论
688 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10946 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 14:31 , Processed in 0.451129 second(s), Total 39, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191