讓我來告訴你如何實現有效利用 W5500 和 FreeRTOS 以太網來轉接到 DMX512。
第1步:需要準備的東西。
1. 任何包含 MCU 和 W5500 的電路板。
我準備我的定制電路板有STM32f103VC(Cortex M3)和 WIZnet W5500 TCP/IP 晶片。
如果你想要全部材料,請電郵筆者。 (焊盤原理圖,圖形文件和 Gerber 文件)
筆者的電子郵件地址:[email protected]
2. IDE。
無論哪一個也可以,只需要適合你的平台(板)。 我用 CoIDE。
3. 源代碼
github.com/bangbh81/EthernetDMX512
第2步:編譯並下載到閃存。
1.也許我的源代碼是不能與你的平台(板)兼容。 所以,你必須更改源代碼。 我的源代碼僅供參考。
源代碼,有3個任務。 DMX512 任務,TCP 任務和時間任務(時間的任務是沒有意義的。)
2.編譯和下載。
步驟3:測試
1. 實際上,DMX512 協議速度只有 250kbps,2 個停止位元(Stop Bit)單向UART 通信。 而硬件接口是 RS-485。 因此你必須檢查 UART TX 引腳的波形。
2. 不可能的檢查 DMX512 的全波形,因為 DMX512 一包是 513 字節(bytes)。 只是檢查數據包的開始。
3. 以太網協議是很簡單的。 TCP 任務運行作為 TCP 服務器和 TCP 數據只是 5 字節(bytes)。
STX(1) – DMX512 地址(2) – DMX512 數據(1) – ETX(1)
EX)地址:5,數據:0xff => 0x02|0x00|0x05|0xff|0x03
您可以使用任何 TCP 工具如 Hercules 來測試。
4. 如果你想完美的實現 DMX512,請在電路加上 RS485 晶片。