我自己把新的 FSP 4.5.0 移植到目前 sdk 內,發現一個現象,有點搞不懂,想問問有沒有人可以解釋
可以看到本來 sdk 有指定 callback user_ether0_callback
但是這個callback 本身只是空函式
所以我一開始測試是沒有設定 這個callback 讓它保持NULL,但是會發生不會觸發 RTT HAL Driver 內的
rt_ra6m3_eth_rx () 等於 不知道何時有收到封包,透過 TX_DUMP /RX_DUMP 可以看到在 TX DUMP的時候 RX Buffer 內部其實是有收到的 但是就當不設定上面提到的 callback 就不會有這個實際動作,不知道這個是基於啥機制
在你描述的情况中,如果回调函数没有被设置,那么就不会触发 RTT HAL Driver 内的 rt_ra6m3_eth_rx() 函数。这意味着,如果没有回调函数,你就无法知道何时收到了数据包
那么可以看出,回调函数的作用是提供一种通知机制,让系统知道何时应该执行特定的操作。即使回调函数本身是空的,只要设置了它,就能触发相应的操作。
OK