當前位置:編程學習大全網 - 編程語言 - mplab編程 單片機是PIC32MX795有會的朋友+q34352749 或者直接回答也行 求幫助

mplab編程 單片機是PIC32MX795有會的朋友+q34352749 或者直接回答也行 求幫助

您好,這樣的:

IC32單片機首先對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(或者發送至以太網上)。

由於RS485數據報為短幀,所以在傳輸層采用UDP協議,以太網控制器協議轉換模塊主要負責將接收的UDP數據報中解析出RS485協議報文,並將其存入數據緩沖區A中;或者將數據緩沖區B中的RS485協議報文封裝成UDP數據報,然後發送到以太網上。在RS485通信協議、以太網協議都能正常運行的情況下,要實現2種協議間的數據轉換非常簡單,當RS485成功接收到壹幀數據後,分離出數據部分,然後將數據打包成以太網協議棧格式,發送到以太網即可以太網到RS485的數據轉換與此相反。

  • 上一篇:數學論文 生活中的函數模型
  • 下一篇:推手的詞語推手的詞語是什麽
  • copyright 2024編程學習大全網