2011-12-21 12 views
1

我正在學習SMSC smc91cx驅動程序代碼,並學會了如何根據Application Note 9-6的說明編寫smc91c111 nic的測試代碼。我無法理解下面的說明「發送數據包」下:關於「三次連續寫入:字節10,字節32,字節54」感到困惑?

Write the destination address (three successive writes: bytes 10, bytes 32, bytes 54) 
Write 0xFFFF, 0xFFFF, 0xFFFF 
Write the source address (three successive writes: bytes 10, bytes32, bytes 54) 
Write 0x0000, 0x0000, 0x0000 

我不能讓這些指令的意義。我應該寫10字節大小的0xFF加32字節大小加上54字節大小的緩衝區,或者只寫10字節位置,第32,54字節位置0xFF?
但如果是這樣,你爲什麼要寫0x0000到相同的位置?

+0

到AN的鏈接將有所幫助。 – 2011-12-21 04:24:40

+0

http://www.google.com.hk/url?sa=t&rct=j&q=smsc+note+9-6&source=web&cd=1&ved=0CCkQFjAA&url=http%3A%2F%2Fembedded.ifmo.ru%2Fsdk%2Fsdk20 %2Fcomponents%2Fethernet%2Fan96.pdf&ei = F3HxTvOCIOmtiAf85f2vAQ&usg = AFQjCNFnWc8fU55YQY1K4tgCANgLqSt2Kg&cad = rja – liunx 2011-12-21 05:40:24

回答

1

不是分配幾個不同的寄存器來寫入,該芯片是連續寫入相同的DATA寄存器,直到您設置所有信息。 DATA寄存器的寬度爲2個字節,但MAC地址爲6個字節,編號爲0-5。因此,您必須一次寫入2個字節:首先是字節編號1和0,然後是字節編號3和2,然後是字節編號5和4.然後將0xFFFF寫入3次到DATA寄存器,然後重複源地址和0x0000s。

+0

非常感謝,我誤解了這個數字,現在我明白了!非常感謝您的提示! – liunx 2011-12-21 05:42:59