网站建设 壹起航,技术培训平台,没有公网ip建设网站,多个域名多国语言网站seo优化在前面的代码里,可以看到下面这行:
setSHAR(pnetinfo-mac);
这里可以看到,pnetinfo-mac是前面定义的MAC地址内容。
但是它是怎么样设置到寄存器里的呢?
其实setSHAR函数是一个宏定义:
#define setSHAR(shar) \WIZCHIP_WRITE_BUF(SHAR, shar, 6)
为什么采用宏…在前面的代码里,可以看到下面这行:
setSHAR(pnetinfo-mac);
这里可以看到,pnetinfo-mac是前面定义的MAC地址内容。
但是它是怎么样设置到寄存器里的呢?
其实setSHAR函数是一个宏定义:
#define setSHAR(shar) \WIZCHIP_WRITE_BUF(SHAR, shar, 6)
为什么采用宏,而不是采用函数呢?
因为嵌入式为了节省调用栈和时间,一般不建议采用多函数调用。
不过,如果采用比较大的内存和比较快的CPU,这些就无所谓了。
WIZCHIP_WRITE_BUF(寄存器地址, 源数据缓冲区, 写入字节数);
参数: SHAR 寄存器地址,代表Source Hardware Address Register(源硬件地址寄存器)。该寄存器存储设备的MAC 地址(物理地址),长度为 6 字节。